设计模式
文章平均质量分 82
设计模式
顧棟
coding and writing and 承接需求
展开
-
泛型的小结
使用泛型的小结原创 2023-10-08 19:38:30 · 477 阅读 · 0 评论 -
Yarn的服务化框架分析-ResourceManager主服务简化示例
Yarn的service框架分析原创 2023-09-18 21:04:05 · 188 阅读 · 0 评论 -
Yarn的事件驱动模型分析-异步调度
yarn的事件驱动编程分析原创 2023-09-09 17:47:59 · 259 阅读 · 0 评论 -
监听者模式(Listener)--- Observer Pattern的扩展
监听者模式(Listener)--- Observer Pattern的扩展原创 2022-01-11 10:20:11 · 700 阅读 · 0 评论 -
解释器模式 (Interpreter Pattern)
文章目录解释器模式 (Interpreter Pattern)解释器模式的定义解释器模式的优点解释器模式的缺点解释器模式的结构解释器模式的实现解释器模式的适用场景解释器模式 (Interpreter Pattern)解释器模式的定义给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。解释器模式的优点扩展性好。解释器是一个简单语法分析工具,它最显著的优点就是扩展性,修改语法规则只要修改相应的非终结符表达式就可以了,若扩展语法,则只要增加非终结符类就可以了。原创 2021-06-18 11:01:50 · 83 阅读 · 0 评论 -
备忘录模式(Memento Pattern)
文章目录备忘录模式(Memento Pattern)备忘录模式的定义备忘录模式的优点备忘录模式的缺点备忘录模式的结构备忘录模式的实现备忘录模式的适用场景注意事项备忘录模式(Memento Pattern)备忘录模式的定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。备忘录模式的优点提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。实现了内部状态的封装。除了创建它的发起人之外,其他对象都不能原创 2021-06-17 19:14:57 · 179 阅读 · 0 评论 -
访问者模式(Visitor Pattern)
文章目录访问者模式(Visitor Pattern)访问者模式的定义访问者模式的优点访问者模式的缺点访问者模式的结构访问者模式的实现适用场景访问者模式(Visitor Pattern)访问者模式的定义封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。访问者模式的优点扩展性好。能够在不修改对象结构中的元素的情况下,为对象结构中的元素添加新的功能。复用性好。可以通过访问者来定义整个对象结构通用的功能,从而提高系统的复用程度。灵活性好。访问者模原创 2021-06-17 19:14:42 · 124 阅读 · 0 评论 -
中介者模式(Mediator Pattern)
文章目录中介者模式(Mediator Pattern)中介者模式的定义中介者模式的优点中介者模式的缺点中介者模式的结构中介者模式的实现一般实现中介者模式的适用场景中介者模式(Mediator Pattern)中介者模式的定义用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。中介者模式的优点类之间各司其职,符合迪米特法则。降低了对象之间的耦合性,使得对象易于独立地被复用。原创 2021-06-17 19:14:21 · 89 阅读 · 0 评论 -
迭代器模式(Iterator Pattern)
文章目录迭代器模式(Iterator Pattern)迭代器模式的定义迭代器模式的优点迭代器模式的缺点迭代器模式的结构迭代器模式的实现一般实现参考JDK实现数遍历适用场景迭代器模式(Iterator Pattern)迭代器模式的定义它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。迭代器是为容器服务的,那什么是容器呢? 能容纳对象的所有类型都可以称之为容。例如Collection集合类型、Set类型等,迭代器模式就是为解决遍历这些容器中的元素而诞生的。迭代器模式的优点访问一原创 2021-06-17 00:44:12 · 100 阅读 · 0 评论 -
观察者模式(Observer Pattern)
文章目录观察者模式(Observer Pattern)观察者模式的定义观察者模式的优点观察者模式的缺点观察者模式的结构观察者模式的实现通用实现小客车摇号通知场景观察者模式的适用场景注意事项观察者模式(Observer Pattern)观察者模式的定义定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式的优点降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符原创 2021-06-16 23:31:55 · 116 阅读 · 0 评论 -
状态模式(State Pattern)
文章目录状态模式(State Pattern)状态模式的定义状态模式的优点状态模式的缺点状态模式的结构状态模式的实现通用场景流程审批场景状态模式的适用场景注意事项状态模式(State Pattern)状态模式的定义当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。状态模式的核心是封装,状态的变更引起了行为的变更,从外部看起来就好像这个对象对应的类发生了改变一样。状态模式的优点结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足"单一职原创 2021-06-16 22:16:17 · 242 阅读 · 0 评论 -
责任链模式(Chain of Responsibility Pattern)
文章目录责任链模式(Chain of Responsibility Pattern)责任链模式的定义责任链模式的优点责任链模式的缺点责任链模式的结构责任链模式的实现责任链模式的适用场景注意事项责任链模式(Chain of Responsibility Pattern)责任链模式的定义使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式的优点责任链模式非常显著的优点是将请求和处理分开增强了系统的可原创 2021-06-14 23:45:02 · 103 阅读 · 2 评论 -
命令模式(Command Pattern)
文章目录命令模式(Command Pattern)命令模式的定义命令模式的优点命令模式的缺点命令模式的结构命令模式的实现适用的场景命令模式(Command Pattern)命令模式的定义将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的优点通过引入中间件(抽象接口)降低系统的耦合度。扩展性良好,增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,且满足“开闭原则”。可以实现宏命令。命令模式可以与[原创 2021-06-10 23:13:56 · 223 阅读 · 0 评论 -
策略模式(Strategy Pattern)
文章目录策略模式(Strategy Pattern)策略模式的定义策略模式的优点策略模式的缺点策略模式的结构策略模式的实现简单策略方式枚举策略方式策略模式的场景策略模式(Strategy Pattern)策略模式的定义也叫做政策模式,定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式的优点多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算法族的公共代原创 2021-06-09 20:07:50 · 86 阅读 · 0 评论 -
模板方法模式(Template Method Pattern)
文章目录模板方法模式(Template Method Pattern)模板方法的定义模板方法的结构抽象类/抽象模板(Abstract Class)具体子类/具体实现(Concrete Class)模板方法的优点模板方法的缺点模板方法的实现模板方法的使用场景模板方法模式(Template Method Pattern)模板方法的定义定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法的结构模板方法模式包含以下主要角色。抽象类原创 2021-06-08 23:56:18 · 130 阅读 · 0 评论 -
门面模式(Facade Pattern)
文章目录门面模式(Facade Pattern)门面模式的定义门面模式的结构门面模式的优点门面模式的缺点门面模式的实现通用实现邮件案例门面模式的使用场景门面模式的注意事项门面模式(Facade Pattern)门面模式的定义也称为外观模式。要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式的结构Facade门面角色为多个子系统对外提供一个共同的接口。此角色知晓子系统的所有功能和责任。本角色会将所有从客户端发来的请求委派到原创 2021-06-04 19:11:16 · 131 阅读 · 0 评论 -
享元模式(Flyweight Pattern)
文章目录享元模式(Flyweight Pattern)享元模式的定义享元模式的结构享元模式的优点享元模式的缺点享元模式的实现享元模式的使用场景享元模式(Flyweight Pattern)享元模式的定义使用共享对象可有效地支持大量的细粒度的对象。享元模式其实是工厂方法模式的一个改进机制,享元模式同样要求创建一个或一组对象,并且就是通过工厂方法模式生成对象的,只不过享元模式为工厂方法模式增加了缓存这一功能。享元模式的结构享元模式的定义提出了两个要求,细粒度和共享对象。因为要求细粒度,所以不可避免地原创 2021-06-03 17:41:20 · 158 阅读 · 0 评论 -
组合模式(Composite Pattern)
文章目录组合模式(Composite Pattern)组合模式的定义组合模式的优点组合模式的缺点组合模式的结构组合模式的实现(1) 透明方式(2) 安全方式组合模式的使用场景组合模式(Composite Pattern)组合模式的定义将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式的优点组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码;更容易在组合体内加入新的对象,客原创 2021-06-02 09:39:19 · 144 阅读 · 0 评论 -
装饰模式(Decorator Pattern)
文章目录装饰模式 (Decorator Pattern)装饰模式的定义装饰模式的优点装饰模式的缺点装饰模式的结构装饰模式的实现(1)单点登录功能的扩展采用装饰器实现(2)常规装饰模式实现装饰模式的使用场景装饰模式 (Decorator Pattern)装饰模式的定义指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。装饰模式的优点采用装饰模式扩展对象的功能比采用继承方式更加灵活。可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。原创 2021-06-01 00:05:45 · 118 阅读 · 0 评论 -
桥接模式(Bridge Pattern)
文章目录桥接模式(Bridge Pattern)桥接模式的定义桥接模式的结构桥接模式的优点桥接模式的缺点桥接模式的实现桥接模式的使用场景桥接模式(Bridge Pattern)桥接模式的定义将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。桥接模式的结构桥接(Bridge)模式包含以下主要角色。抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。它的主要职责是定义出该角色的行为,同时保存一个对实现化角原创 2021-05-31 01:19:43 · 95 阅读 · 0 评论 -
适配器模式(Adapter Pattern)
文章目录适配器模式(Adapter Pattern)适配器模式的定义适配器模式的优点适配器模式的缺点适配器模式的结构适配器模式的实现类适配器模式对象适配器模式接口适配器模式适配器模式的应用场景注意事项适配器模式(Adapter Pattern)适配器模式的定义将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式的优点客户端通过适配器可以透明地调用目标接口。复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。将目标类和适配者类原创 2021-05-31 00:53:39 · 116 阅读 · 0 评论 -
代理模式 (ProxyPattern)
文章目录代理模式 (ProxyPattern)代理模式的定义代理模式的优点代理模式的缺点代理模式的结构代理模式的实现普通代理强制代理动态代理AOP使用场景代理模式 (ProxyPattern)代理模式的定义为其他对象提供一种代理以控制对这个对象的访问。代理模式的优点真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件事务,附带的结果就是编程简洁清晰。具体主题角色是随时都会发生变化的,只要它实现了接口,甭管它如何变化,都逃不脱如来佛的手掌(接口),那我们的代理类完原创 2021-05-30 15:50:55 · 110 阅读 · 0 评论 -
原型模式(Prototype Pattern)
文章目录原型模式(Prototype Pattern)原型模式的定义原型模式的优点原型模式的缺点原型模式的结构原型模式的实现使用场景注意事项原型模式(Prototype Pattern)原型模式的定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式的优点Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份,并将其状态保存起来,简化了创建对象的过程,以便在需要的时候使用(例如原创 2021-05-29 01:00:59 · 211 阅读 · 0 评论 -
建造者模式(Builder Pattern)
主要讲解建造者模式的定义,优缺点,结构,实现和一些适用的场景原创 2021-05-28 20:34:46 · 152 阅读 · 0 评论 -
抽象工厂模式 (Abstract Factory Pattern)
主要讲解抽象工厂模式的定义,优缺点,结构,实现和一些适用的场景原创 2021-05-28 00:17:36 · 232 阅读 · 0 评论 -
工厂方法模式(Factory Method Pattern)
主要讲解工厂方法模式的定义,优缺点,结构,实现和一些适用的场景原创 2021-05-27 01:21:36 · 87 阅读 · 0 评论 -
单例模式(Singleton Pattern)
主要讲解单例模式的定义,优缺点,结构,实现和一些适用的场景原创 2021-05-26 23:46:40 · 265 阅读 · 0 评论 -
设计模式概述
文章目录设计模式概述设计模式遵循的原则1、开闭原则(Open Close Principle)2、里氏代换原则(Liskov Substitution Principle)3、依赖倒转原则(Dependence Inversion Principle)4、接口隔离原则(Interface Segregation Principle)5、迪米特法则(最少知道原则)(Demeter Principle)6、合成复用原则(Composite Reuse Principle)7、单一原则(Single Respon原创 2021-05-25 19:59:42 · 210 阅读 · 0 评论