`
行者买刀
  • 浏览: 191499 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

设计模式之略见一斑(Mediator中介者模式)

    博客分类:
  • J2SE
阅读更多
设计模式 写道
     通常,面向对象的软件开发要求尽可能细致地分配,从而使每个对象都能够独立完成自己的任务。Observer模式通过尽可能缩小一个对象应对其他对象承担的责任范围来支持这种责任分配。而singleton模式将责任集中于其他对象都可以访问和复用的某个特定对象中。与singleton模式类似的是,中介者模式也对责任进行了集中,不过这种模式只是对某个特定对象集合的责任进行集中,而不是对整个系统的其他所有对象的责任进行集中。

如果对象群组中的交互错综复杂,而每个对象都需要了解本集合中的其他每个对象的情况,那么这个时候采用一个核心机构来负责控制它们的交互将非常有用,当这些相关对象之间的交互独立于对象的其他行为的时候,对责任进行集中也很有用。

 

Mediator模式的意图就是定义一个对象,该对象将对象集合之间的交互封装起来。利用该模式可以降低对象之间的耦合程序,避免对象之间的显式引用,还可以让对象间的交互独立变化。

在我们应用MVC设计模式的时候我们同时也可以应用中介者模模式。

MVC就是模型-视图-控制器这三个对象。而模式要与视图分开,所以我们可以把控制器当作中介者来接收视图的请求,并把处理业务逻辑交给模式

具体代码就是模型、视图对控制器的显式引用,而控制器引用这两个对象,这里就不写喽

 

小结:

    中介者模式可以降低对象之间的耦合程序,避免了相关对象之间的显式引。中介者模式广泛应用于GUI应用程序的开发过程,特别是游戏开发的时候。借助这个模式,可以不必直接管理组件之间的复杂的交互。

    在构造GUI的时候,Java会引导我们使用中介者模式,但它并不要求我们一定要把中介逻辑移出应用程序类。不过,这样做可以简化我们的代码。中介者类可专门用于处理对象间的交互,而应用程序类专门负责创建组件。

    引入中介者对象还有其他的优点。例如,我们可以使用中介者对象集中负责维护对象模型的关系完整性。每当需要封装对象间的交互方式的时候,我们都可以应用中介者模式。

分享到:
评论

相关推荐

    设计模式之略见一斑(Observer观察者模式)

    NULL 博文链接:https://lgh3292.iteye.com/blog/600905

    21种设计模式略见一斑

    NULL 博文链接:https://teddywang.iteye.com/blog/769122

    循环冗余校验-概念 算法 应用

    CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,...例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑。

    CRC16或32校验

    CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码...例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑

    CRC算法和实现

    例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑。 差错控制理论是在代数理论基础上建立起来的。这里我们着眼于介绍CRC的算法与实现,对原理只能...

Global site tag (gtag.js) - Google Analytics