【设计模式】 建造者
摘要:【设计模式】 建造者1. 分离父类方法的主流程和主流程内子流程的实现2. 适用场景 a. 子类各方法间调用顺序一致, 则可对这些方法进行封装3. 代码 class Builder { public static void Test() { ...
阅读全文
【设计模式】 外观模式
摘要:【设计模式】 外观模式1. 将子系统多个功能封装在一起, 使调用者可以更方便的调用, 并降低了子系统间的耦合度2. 使用场景 : 一个类需要调用多个子类的方法3. 代码 class Facade { public static void Test() { ...
阅读全文
【设计模式】模板方法
摘要:【设计模式】模板方法1. 将子类相同的方法抽象到父类,不同的方法以重写来实现2. 适用场景 : a. 子类间主方法的流程一样且有大量重复代码3. 代码 class TemplateMethod { public static void Test() { ...
阅读全文
【设计模式】 原型
摘要:【设计模式】 原型1. 以一个对象为原型, 通过复制原型创建新的对象2. 适用场景 : a . 需要创建多个对象,且对象间只有个别属性需要改变, 使用原型可减少创建对象的开销3. 代码 class Prototype { public static void Test()...
阅读全文
【设计模式】 代理模式
摘要:【设计模式】 代理模式一. 代理模式1. 对现有对象进行封装,以控制对该对象的访问2. 适用场景 : a. 做对外的接口, 有了代理可以起到过滤作用,只代理想公开的功能,不像公开的功能就不做代理 b. 增加安全性, 可以在代理层加上安全验证3. 代码 public class Proxy ...
阅读全文
【设计模式】 装饰模式
摘要:【设计模式】 装饰模式一. 装饰模式1. 动态的给现有对象添加功能2. 适用场景 : a. 对老系统(老功能)进行扩展时, 使用该模式可在不修改原代码的基础上进行扩展, 最主要的是不会对现有系统产生影响 b. 如果一个对象有太多功能时, 可以用该模式来分离部分功能3. 代码 class D...
阅读全文
【设计模式】 策略模式
摘要:【设计模式】 策略模式一. 策略模式1. 对相同功能不同实现的一系列算法的封装, 使切换算法时不会影响调用者2. 适用场景 : a.需要根据条件频繁切换算法的地方3. 代码 class Strategy { public static void Test() {...
阅读全文
【设计模式】 工厂方法
摘要:【设计模式】 工厂方法 1. 由对应的工厂来创建对象 2. 与简单工厂相比,代码设计复杂度提高了,调用也变得复杂了,但维护成本降低了,每次添加新的类时,只要添加对应的工厂,而不需要修改原有代码。 简单工厂每次添加新的类,需要修改原有创建对象的方法。 3. 更符合开闭原则 4. 代码 ...
阅读全文
【设计模式】 分类
摘要:【设计模式】 分类一. 创建型 简单工厂模式(Simple Factory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 创建者模式(Builder) 原型模式(Prototype) 单例模式(Singleton)二. 结构型 外观模...
阅读全文