-
Spring 中的设计模式
Builder RequestMappingInfo 工厂方法 BeanFactory的getBean 适配器 HandlerAdapter 代理
-
设计模式之责任链模式
作用 为请求创建了一个接收者对象的链,将请求和处理分开,实现解耦,提高系统的灵活性。 简化了对象,使对象不需要知道链的结构。 原理 Handler:抽象的
-
设计模式之策略模式
作用 定义算法族(策略组),分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 实质上就是面向对象中的继承和多态。 原理 Cont
-
设计模式之状态设计模式
作用 解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。 当一个对象的内在状态改变时,允许改变其行为,这个对
-
设计模式之解释器模式
作用 给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 原理 Context:环境角色,包含解释器之外的全局信
-
设计模式之备忘录模式
作用 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样之后就可将该对象恢复到原先保存的状态。 为了节约内存,备忘录模式可以和原型
-
设计模式之中介模式
作用 用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 原理 Mediator
-
设计模式之观察者模式
作用 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。 原理 Register:登记注册、移除和通知。
-
设计模式之迭代器模式
作用 提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,不暴露其内部的结构。 原理 Iterator:迭代器接口,has
-
设计模式之访问者模式
作用 需要对一个对象结构中的对象进行很多不同操作(这些操作彼此没有关联),同时需要避免让这些操作"污染"这些对象的类。 可以对功能进行统一,可以做报表、UI、拦
-
设计模式之命令模式
作用 将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。 原理 Invoker:调用者角色。
-
设计模式之模板方法模式
作用 算法只在父类中,需要修改时只需修改父类的模板方法即可。 不足之处:每一个不同的实现都需要子类实现,导致类增加。 案例 抽象类 模板方法:make(),
-
设计模式之代理模式
作用 为其他对象提供一种代理以控制对这个对象的访问。 静态代理 接口 public interface IBuyTicket { void buy(i
-
设计模式之享元模式
作用 也叫蝇量模式。“享”:共享,“元”:对象。 常用于系统底层开发,解决系统的性能问题。像数据库连接池,池里都是创建好的连接对象,无需再创建直接拿来用。解
-
设计模式之外观模式
作用 又叫门面模式、过程模式。定义一个接口,聚合了内部子系统的细节,使调用端只需调用这个接口,无需关心子系统内部细节。类似方法抽取;工具类。 注意:不能过多或不
-
设计模式之组合模式
作用 又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系,Composite使得用户对单个对象和组合对象的使用具有一
-
设计模式之装饰者模式
作用 动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(OCP)。 原理 打包快递。 主体-被装饰者:陶瓷、衣服 包
-
设计模式之桥接模式
作用 解决类爆炸问题,将抽象部分与它的实现部分相分离,使他们可以独立的变化。 原理图 Abstraction:维护了Implementor与它的实现类Co
-
设计模式之适配器模式
作用 使得原本由于接口不兼容而不能一起工作那些类可以一起工作。 适配器 类型 src形式 关系 类适配器 以类给到 在Adapter里,将src当
-
设计模式之建造者模式
作用 用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象。 案例 通过User.Builder类构建User。 User user = User.