首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前端控制器与中介者模式的差异

前端控制器与中介者模式的差异
EN

Software Engineering用户
提问于 2021-12-27 23:32:09
回答 2查看 241关注 0票数 1

我读到了这些模式,并注意到它们似乎基本上是相同的,但在不同的背景下?如果是这样的话,为什么前控制器不只是被看作是一个中介模式,而是应用在web应用程序的上下文中呢?

EN

回答 2

Software Engineering用户

发布于 2021-12-28 08:25:16

一个设计模式不是由它给出的作为解决方案的结构建立的。

设计模式为常见问题提供了解决方案。如果两个不同的问题碰巧有非常相似的解决方案,那么它们仍然被认为是不同的设计模式,仅仅是因为它们解决了不同的问题。

票数 2
EN

Software Engineering用户

发布于 2021-12-28 12:08:32

在中介模式中,您有一个中介对象,它处理由其他对象引发和使用的事件。

即。而不是拥有

代码语言:javascript
复制
MyControlOne.OnClick += myControlTwo.ChangeColour()

你有

代码语言:javascript
复制
MyControlOne.OnClick += Mediator.Raise("MyControlWasClicked")

Mediator.Listen("MyControlWasClicked", myControlTwo.ChangeColour());

这允许您的所有对象松散耦合。

在前面控制器的模式中。您只有一个控制器来处理所有传入的web请求。

代码语言:javascript
复制
MyWebsite
{
   List<IHandler> handlers;

   Handle(request, response)
   {
      foreach( h in handlers)
      {
          h.Handle(request, response)
      }
      return response;
   }

基本上,这就是微软所谓的请求处理程序。这里使用的“控制器”更普遍,这在今天谈论web框架时是很常见的。这更像如果您正在编程您自己的own服务器。

它与中介模式不同。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/435588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档