![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式学习笔记
文章平均质量分 72
YuanLicc
你有很多想法,那么你就会有很多创造!
展开
-
设计模式 - 代码注释
本文部分摘自书籍《大话设计模式》 此系列文章GitHub地址Java注释 良好的注释能极大的提高代码的可读性,而且注释文档将被用于生成HTML代码报告,所以代码注释很重要,在写出良好的代码之前,写出标准的注释是或不可缺的。关于HTML代码报告,使用过maven(关于maven的笔记及总结可查看 github 或者 csdn )的javadoc插件的应该比较清楚,它会根据代码生成响应...原创 2018-05-10 20:31:58 · 1478 阅读 · 0 评论 -
设计模式 - 代理模式
本文摘自书籍《设计模式》结构型 - 代理模式(Proxy Pattern)定义给某个对象提供一个代理,并由代理对象控制对源对象的引用。模式结构public interface Subject { void request();}public class RealSubject implements Subject { public void...原创 2018-05-13 17:29:57 · 143 阅读 · 0 评论 -
设计模式 - 代理模式 - 动态代理机制
此系列文章GitHub地址代理模式 - 动态代理机制动态代理与普通的代理从结构上来讲并没有任何区别,代理类也是实现了抽象主题类的定义,而被代理的类也是实现了抽象主题类的具体主题类,前面一章我们已经讲过了 —> 链接,而具体的动态也就是我们不再具体实现代理类,而是由jdk的类库生成代理类,并实例化返回一个代理对象。就像上一章表现出来的一样,代理类实现了抽象主题接口,并关联了被代理的对象...原创 2018-05-13 17:31:00 · 276 阅读 · 1 评论 -
设计模式 - 职责链模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 职责链模式(Chain Of Responsibility Pattern)定义避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象链接成一条链,并且沿着这条链传递请求,知道有对象处理它为止。是对象行为型模式。模式结构public abstract Handler { pr...原创 2018-05-15 19:44:58 · 166 阅读 · 0 评论 -
设计模式 - 命令模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 命令模式(Command Pattern)定义将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化,对请求与排队或记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式。模式结构public interface Receiver { ...}public inte...原创 2018-05-15 19:45:45 · 155 阅读 · 0 评论 -
设计模式 - 解释器模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 解释器模式(Interpreter Pattern)定义定义语言的文法,并且建立一个解释器来解释该语言中的句子,这里语言指的是使用规定格式和语法的代码,解释模式是一种类行为型模式。模式结构public class Context {...}public abstract AbstractExpre...原创 2018-05-15 19:46:44 · 211 阅读 · 0 评论 -
设计模式 - 迭代器模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 迭代器模式(Iterator Pattern)定义提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标。迭代器是一种行为型模式。模式结构public interface Iterator { void first(); void last(); boolean...原创 2018-05-15 19:47:19 · 135 阅读 · 0 评论 -
设计模式 - 中介者模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 中介者模式(Mediator Pattern)定义用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。是一种对象行为型模式。中介者对象简单而言就是,当两个类A、B同为一个接口的实现类,这里称这两个类为同事类,当A中的方法需要调用B的方法时,一种...原创 2018-05-15 19:47:53 · 133 阅读 · 0 评论 -
设计模式 - 备忘录模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 备忘录模式(Memento Pattern)定义在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态,是一种对象行为型模式。备忘录模式,顾名思义,此模式是一种历史的备份,如IDE内的撤销操作就是一种备忘的体现。模式结构class Memen...原创 2018-05-15 19:48:29 · 176 阅读 · 0 评论 -
设计模式 - 观察者模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 观察者模式(Observer Pattern)定义定义对象间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并自动更新。是一种对象行为型模式。模式结构Subject - 目标,又称为被观察的对象。在目标中定义了一个观察者集合,它可以存储任意数量的观察者对象,它提供一个接口来...原创 2018-05-15 19:49:00 · 163 阅读 · 0 评论 -
设计模式 - 状态模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 状态模式(State Pattern)定义允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。是一种对象行为型模式。模式结构public interface State { void on(); void off(); void handle();}p...原创 2018-05-15 19:49:30 · 191 阅读 · 0 评论 -
设计模式 - 策略模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 策略模式(Strategy Pattern)定义定义一系列算法,每一个算法封装起来,并让他们可以相互替换。策略模式让算法独立于使用它的客户而变化,是一种对象行为型模式。模式结构public interface Strategy { void algorithm();}public cla...原创 2018-05-15 19:50:06 · 205 阅读 · 0 评论 -
设计模式 - 享元模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 享元模式(Flyweight Pattern)定义运用共享技术有效的支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,是一种对象结构型模式。模式结构public interf...原创 2018-05-13 17:29:19 · 178 阅读 · 0 评论 -
设计模式 - 外观模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 外观模式(Facade Pattern)定义外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,是一种对象结构型模式。模式结构public class Facade { private L...原创 2018-05-13 17:28:34 · 168 阅读 · 0 评论 -
设计模式 - abstract class和interface区别
本文摘自书籍《大话设计模式》 此系列文章GitHub地址abstract class和interface区别abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使...原创 2018-05-10 20:34:47 · 1983 阅读 · 2 评论 -
设计模式 - 面向对象设计原则
本文摘自书籍《设计模式》面向对象设计原则面向对象设计原则是设计模式的基础,每一种设计模式都符合一种或多种原则。单一职责原则(SRP)一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中。类的职责数据职责 — 通过属性来体现。行为职责 — 通过方法来体现。分析一个类承担的职责越多,它被复用的可能性越小,这些职责耦合在一起,当其中一个职责变化时,...原创 2018-05-10 20:41:40 · 155 阅读 · 0 评论 -
设计模式 - 简单工厂模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 简单工厂模式(Simple Factory Pattern)定义 简单工厂模式又称为静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数不同返回不同类的实例。模式结构public interface Product {...}public class ProductA imple...原创 2018-05-10 20:44:05 · 115 阅读 · 0 评论 -
设计模式 - 工厂方法模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 工厂方法模式(Factory Method Pattern)定义 又称为工厂模式、虚拟构造器模式、多态工厂模式,是类创建型模式。工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生成具体的产品对象,目的是将产品类的实例化推迟到子类中完成,即通过子类来确定究竟该实例化哪个产品类。模式结构pub...原创 2018-05-10 20:44:55 · 132 阅读 · 0 评论 -
设计模式 - 抽象工厂模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 抽象工厂模式(Abstract Factory Pattern)定义 提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类。模式结构public interface ProductPhone {...}public class ProductHuaWeiPhone implem...原创 2018-05-10 20:45:37 · 137 阅读 · 0 评论 -
设计模式 - 建造者模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 建造者模式(Abstract Factory Pattern)定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式一步一步创建一个的复杂对象,它允许用户通过制定复杂对象的类型和内容就可以构建他们,而不需要了解具体的构建细节。模式结构public class Comp...原创 2018-05-10 20:46:23 · 132 阅读 · 0 评论 -
设计模式 - 原型模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 原型模式(Prototype Pattern)定义通过复制原型创建新的对象,是创建型模式。模式结构public interface Prototype etxends Serializable{ public Object deepClone();}public class Protot...原创 2018-05-10 20:47:07 · 154 阅读 · 0 评论 -
设计模式 - 单例模式
本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 单例模式(Singleton Pattern)定义单例模式确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。模式结构饿汉式 public class Singleton { private static final Singleton instance = new Sing...原创 2018-05-10 20:47:49 · 135 阅读 · 0 评论 -
设计模式 - 适配器模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 适配器模式(Adapter Pattern)定义将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。模式结构类适配器 public class Adaptee { public void method1 () { //逻辑 }}...原创 2018-05-10 20:48:48 · 132 阅读 · 0 评论 -
设计模式 - 桥接模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 桥接模式(Bridge Pattern)定义将抽象本部分与它的实现部分分离,是他们都可以独立的变化。是一种对象结构性模式。模式结构public interface Implementor {...}public class ImplementorA implements Implementor...原创 2018-05-13 17:24:30 · 138 阅读 · 0 评论 -
设计模式 - 组合模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 组合模式(Composite Pattern)定义组合多个对象形成属性结构以表示“整体与部分”的结构层次。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。属于对象结构模式。想象成树型结构即可,包含叶子节点(叶子对象)与非叶子节点(容器对象)。模式结构public interfac...原创 2018-05-13 17:26:33 · 179 阅读 · 0 评论 -
设计模式 - 装饰模式
本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 装饰模式(Decorator Pattern)定义动态的给对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活,是一种对象结构型模式。模式结构public interface Component { void operation();}public class Compon...原创 2018-05-13 17:27:43 · 214 阅读 · 0 评论 -
设计模式 - 访问者模式
本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 访问者模式(Visitor Pattern)定义表示一个作用域某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用域这些元素的新操作,是一种对象行为型模式。模式结构抽象访问者,为对象结构类中每一个具体元素类声明一个访问操作,从这个操作的名称或参数类型可以清楚知道需要访问的具体元素...原创 2018-05-28 21:31:19 · 182 阅读 · 0 评论