
设计模式
huaishu
这个作者很懒,什么都没留下…
展开
-
阅读设计模式随想
最近在看设计模式方面的书籍,同时也在看netty的源码,写写自己的一点想法。在我们刚接触代码,或者再看其他人代码时候,希望代码可以从头到尾看完,不喜欢各种代码分散在不同类里面。其实早期代码入门时候,更多是如何通过if\for 来实现代码,缺乏面向对象的思维方式,一个业务代码中各种if嵌套,各种for循环。随着接触代码量变多,可以总结一些规律,就是如何把if、for 等代码抽象处理。netty事件驱动网络框架,一个个的IO事件通过责任链的方式被处理,传统的for循环被责任链取代,很好的实现代码扩展性。原创 2021-03-30 13:50:05 · 216 阅读 · 1 评论 -
观察者模式——Observer Pattern
Spring中有事件监听机制的接口,使用观察者模式的方式实现该机制。观察者模式观察者模式(observer pattern):在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。Observable 相当于生产者(添加、删除、通知观察者),Observer相当于消费者 。观察者可以实现消息的广播,一个消息可以触发多个事件。主要角色:抽象主题(Subject)角色:也叫抽象目标类,它提供了一个用于保存观察者对象的聚集类和增加、删除观察者对象的方法,以原创 2021-01-28 13:08:11 · 315 阅读 · 0 评论 -
UML图标含义与图例
最近看设计模式,做UML笔记记录。UML 有几种关系图标:泛化(继承),实现,依赖,关联,聚合,组合类型 泛化(继承) B——▷A B 类作为 A 类的子类存在 实现 B------▷A B 类实现 A 接口 依赖 A------>B B 类作为 A 类某个方法的参数,表示A想做某些事情需要依赖 B,不然做不成。虚线参数强依赖 关联 A——>B B 类作为 A 类...原创 2020-09-01 16:07:06 · 2745 阅读 · 0 评论 -
24种设计模式及原则简介
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、多例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。...原创 2019-06-03 13:43:38 · 694 阅读 · 0 评论 -
责任链模式--Chain of Responsibility Pattern
责任链模式原创 2017-07-27 11:37:35 · 291 阅读 · 0 评论 -
解释器模式--Interpreter Pattern
设计模式 解释器模式原创 2017-07-25 11:21:33 · 329 阅读 · 0 评论 -
单例模式----SINGLETON PATTERN
单例模式大家并不陌生,也都知道它分为什么懒汉式、饿汉式之类的。但是你对单例模式的理解足够透彻吗?今天我带大家一起来看看我眼中的单例,可能会跟你的认识有所不同。下面是一个简单的小实例://简单懒汉式 public class Singleton { //单例实例变量 private static Singleton instanc转载 2013-07-04 20:02:46 · 561 阅读 · 0 评论 -
责任链模式----CHAIN OF RESPONSIBILITY PATTERN
责任链(Chain of Responsibility)模式:责任链模式是对象的行为模式。使多个对象都有机会处理请求,从而避免请求的发送者和接受者直接的耦合关系。将这些对象连成一条链,沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式强调的是每一个对象及其对下家的引用来组成一条链,利用这种方式将发送者和接收者解耦,类图如下:通过上图可以看出责任链模式有两个角色:抽象转载 2013-08-19 16:45:05 · 717 阅读 · 0 评论 -
命令模式----COMMAND PATTERN
命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。一.概念 命令模式将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求原创 2013-08-19 22:43:39 · 762 阅读 · 0 评论 -
模板模式----TEMPLATE METHOD PATTERN
模板方法就是一个方法(通常为final,不允许子类进行覆盖),该方法包含了一个算法的各个步骤(每个步骤相当于一个方法),在模版方法内调用的方法中有抽象的(待子类覆盖),也有实例的。另外在模版方法所属类中可以包含一个钩子方法(hook),该方法可以控制模版方法中的逻辑,该方法提供默认的实现。子类不是必须实现它。是否命令模式是模板方法的扩展,发布命令者与接收命令者到最后的执行者,命令似乎就原创 2013-08-20 13:33:34 · 620 阅读 · 0 评论 -
桥梁模式----BRIDGE PATTERN
桥梁模式的用意 桥梁模式虽然不是一个使用频率很高的模式,但是熟悉这个模式对于理解面向对象的设计原则,包括“开-闭”原则以及组合/聚合复用原则都很有帮助。理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格。 桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。这句话很短,但是第一次读到这句话的转载 2014-06-24 23:03:40 · 664 阅读 · 0 评论 -
开发过程中的设计原则
突然看到设计模式,看到设计过程中的六大原则,以前也看过,现在当是温习一下。单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则开闭原则原创 2013-07-30 15:53:05 · 973 阅读 · 0 评论 -
状态模式----State Pattern
状态模式原创 2017-07-31 15:44:26 · 321 阅读 · 0 评论