首页 > 其他分享 >设计模式—中介者模式

设计模式—中介者模式

时间:2023-07-25 13:00:46浏览次数:21  
标签:依赖 对象 模式 中介 耦合 设计模式

中介者模式

目录

用一个中介对象封装一系列的对象交互, 中介者使各对象不需要显示地相互作用, 从而使其耦合松散, 而且可以独立地改变它们之间的交互。

优点

减少类之间的依赖,将原有的一对多的依赖变成一对一的依赖,同事类只依赖中介者,减少依赖,降低了类间的耦合。

缺点

中介者会膨胀得很大, 而且逻辑复杂, 原本N个对象直接的相互依赖关系转换为中介者和同事类的依赖关系, 同事类越多, 中介者的逻辑就越复杂 。

适用场景

中介者模式适用于多个对象之间紧密耦合的情况 。

紧密耦合的标准是: 在类图中出现了蜘蛛网状结构 。在这种情况下一定要考虑使用中介者模式, 这有利于把蜘蛛网梳理为星型结构, 使原本复杂混乱的关系变得清晰简单 。

中介者模式与外观模式差异

标签:依赖,对象,模式,中介,耦合,设计模式
From: https://www.cnblogs.com/kouhao/p/17579620.html

相关文章

  • 设计模式—单例模式
    目录优点缺点使用场景注意事项案例分析定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。优点由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非常明显。由......
  • 设计模式—命令模式
    命令模式目录命令模式命令模式与策略模式的差异:例子命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式(CommandPattern)是一种数据驱动的设计模式,它属于行为......
  • 设计模式—解释器模式
    解释器模式解释器模式(InterpreterPattern)是一种按照规定语法进行解析的方案,在现在项目中使用较少,其定义如下:Givenalanguage,definearepresentationforitsgrammaralongwithaninterpreterthatusestherepresentationtointerpretsentencesinthelanguage。优......
  • 设计模式—门面模式
    门面模式门面模式(FacadePattern)也叫做外观模式,是一种比较常用的封装模式。要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。优点减少系统的相互依赖;提高了灵活性;提高安全性。缺点是不符合......
  • 设计模式—原型模式
    原型模式原型模式(PrototypePattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。优点原型模式是在内存二进制流的拷贝,要比直接new一个对象性......
  • 设计模式—工厂模式
    目录简单工厂模式类图案例分析工厂方法模式优点类图案例分析抽象工厂模式优点缺点使用场景注意事项类图案例分析工厂模式分为简单工厂模式,工厂方法模式,抽象工厂模式。简单工厂模式简单工厂模式的核心是定义一个创建对象的接口,将对象的创建和本身的业务逻辑分离,降低系统的耦合度......
  • vs c#判断程序是否调试模式,开发模式,发布模式,Debug模式,Release模式
    转发自:https://blog.csdn.net/qq_37664403/article/details/1187471951.Debug模式,Release模式#ifDEBUGConsole.WriteLine(“Debug模式”);#elseConsole.WriteLine(“Release模式”);#endif此方法适合习惯好的程序员,但是对我来说不怎么习惯使用,因为调试个代码,和不在调试情况下运......
  • Java开发笔记之mac的intellij idea在debug模式下卡住的问题
    0x00问题描述mac的Intellijidea在debug模式下放行时,程序会卡住无响应;即使在已经放行的情况下,后续代码也不运行,console内只显示Theapplicationisrunning或者等了很久程序才开始后续的运行。 0x01解决方案修改host中的配置。通过以下命令,打开hosts的编辑页面。sudovi......
  • 非关语言: 设计模式
    http://www.riabook.cn/doc/designpattern/非关语言:设计模式程式设计是思维具体化的一种方式,是思考如何解决问题的过程,设计模式是在解决问题的过程中,一些良好思路的经验集成,最早讲设计模式,人们总会提到Gof 的著作,它最早将经典的23种模式集合在一起说明,对后期学习程式设计,尤......
  • IMU模式下DML语句所产生的REDO RECORD格式解读
    总结:IMU模式下DML语句所产生的REDORECORD格式,是先有操作的changerector,再有向向UNDO段头的事务表写事务信息的changerector,再提交操作的changerector后,才进行把数据修改前值放到UNDO的changerector。注意:实验中INSERT和DELETE是先后做的,UPDATE操作是......