课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
设计模式我们在前几期的文章中已经给大家介绍过很多次了,而今天我们就通过案例分析来了解一下,行为型设计模式都有哪些类型。
1、观察者模式
常用场景:需要将观察者与被观察者解耦或者是观察者的种类不确定
介绍:又叫发布订 阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察这对象,使它们能够自动更新自己
设计原则:遵循迪米特、开闭原则
2、模板方法模式
常用场景:一批子类的功能有可提取的公共算法骨架
介绍:准备一个抽象类,将部分逻辑以抽象方法形式让子类去实现,不同哦能的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意
设计原则:破坏里氏替换,体现功能复用
3、命令模式
常用场景:行为的请求者与行为的处理者耦合度过高
介绍:命令模式把一个请求或在操作封装到一个对象中,命令模式允许系统使用不同的 请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能
设计原则:遵循迪米特、开闭原则
4、状态模式
常用场景:一个对象在多个状态下行为不同,且这些状态可互相转换
介绍:状态模式允许一个对象在其内部状态改变的时候改变其行为,这个对象唉看上去就像是改变了它的类一样
设计原则:遵循单一职责、依赖倒置、开闭原则
5、责任链模式
常用场景:一个请求的处理需要多个对象当中的一个或几个协作处理
介绍:很多对象是由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上传递,直到链上的某一个对象囧丁处理此请求,发出这个请求的客户端并不知道链上的哪个对象 终处理了这个对象,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任
设计原则:遵循迪米特
6、解释器模式
常用场景:有一种语言被频繁的使用
介绍:解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子
设计原则:遵循单一职责
7、中介者模式
常用场景:一个系列的对象交互关系十分复杂
介绍:中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合
设计原则:遵循迪米特,破坏单一职责
8、访问者模式
常用场景:作用于一个数据结构之上的操作经常变
介绍:访问者模式的目地是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变
设计原则:遵循倾斜的开闭原则
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。