
设计模式
_Linance
这个作者很懒,什么都没留下…
展开
-
设计模式之六大原则
单一职能原则 定义:应该仅有一个原因引起类的变更。Single Responsibility Principle 简称SRP 里氏替换原则 定义1: 对于每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型 定义2: 所有引用基类的地方必须能透明的使用其子类的对象 即:只要父类...原创 2018-06-30 10:43:05 · 304 阅读 · 0 评论 -
设计模式之单例模式
前言 确保一个类只有一个实例,并且自行实例化向整个系统提供这个实例 单例模式优缺点 优点 节省内存开支 减少系统性能开销 可以避免对资源的多重占用。比如写文件操作,由于只有一个实例在内存中,避免了对同一个资源文件的同时写操作 优化和共享资源访问。可以设置一个单例类作为全局访问点 缺点 单例模式一般没有接口,扩展很困难 对测试是不利的,在并行开发中,如果单例模式没有完成,是无法进行...原创 2018-07-02 21:10:34 · 182 阅读 · 0 评论 -
设计模式之工厂模式
前言 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂模式使一个类的实例化延迟到其子类原创 2018-07-09 21:19:17 · 158 阅读 · 0 评论 -
设计模式之抽象工厂模式
定义 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。 抽象工厂模式是工厂模式的升级版 举个栗子: 以工厂模式中的例子继续: 定义一个产品接口(也可以是抽象类), //产品接口 public interface Product { void method1(); } 两个产品抽象子类实现这个接口,每个产品子类中有不同的抽象方法 //抽象产品类A pub...原创 2018-07-11 21:44:28 · 126 阅读 · 0 评论 -
设计模式之模板方法模式
定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 一般模板方法都加final关键字,不允许被复写。 首先定义一个抽象类,该类中的方法有两部分组成,基本方法和模板方法 public abstract class AbstractClass { //基本方法 protected abstract vo...原创 2018-08-07 10:40:53 · 118 阅读 · 0 评论 -
设计模式之建造者模式
定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,也叫生成器模式。 建造者模式通用组成: 首先定义一个抽象的产品类,可以定义一些抽象方法 public abstract class BaseModel { protected abstract void method1(); protected abstract void method2(); ...原创 2018-08-07 14:42:53 · 162 阅读 · 0 评论