设计模式
设计模式
参考 <图解设计模式>、<重学Java设计模式>
设计模式遵循六大原则;
- 单一职责原则 : 一个类和方法只做一个事情
- 里式替换:多态,子类可扩展父类
- 开闭原则:抽象架构,拓展实现(对修改关闭,对扩展开放) 继承父类扩展需要的方法,同时保留原有的方法,新增自己需要的方法
- 依赖倒置原则
- 实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合
- 细节依赖抽象,下层依赖上层
- 迪米特法原则
- 最少知道,降低耦合
- 接口隔离原则
- 建立单一接口,尽量将庞大的接口拆分成更小 & 更具体的接口
创建型
这类模式提供创建对象的机制,能够提升已有代码的灵活性和可复用性
工厂方法 (Factory Method)
定义一个用于创建产品的接口,由子类决定生产什么产品
工厂模式又称工厂方法模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型
这种设计模式也是 Java 开发中最常见的一种模式,它的主要意图是定义一个 创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到 子类进行
简单来说,就是为了 提供代码结构的扩展性,屏蔽每一个功能类中的具体实现逻辑。让外部可以更加简单的只是知道调用即可,同时,这也是去掉众多 if-else 的方法。当然,这也可能存在一些缺点,比如 需要实现的类非常多,如何去维护,如何去降低开发成本,但是以上问题都可以在后续设计模式的结合使用后,逐步降低。
业务场景
多种类型商品不同接口,统一发奖服务搭建场景
角色
- Product : 定义产品的接口,是工厂方法模式所创建的产品的父类
- Concrete Product:具体产品
- Factory :抽象工厂类中声明了工厂方法
- Concrete Factory:具体的工厂方法,继承了抽象工厂类,用来生产具体的对象
抽象工厂(Abstract Factory)
建造者(Builder)
原型 (Prototype)
单例(Singleton)
- Title: 设计模式
- Author: cccs7
- Created at: 2023-03-10 20:12:10
- Updated at: 2023-06-29 23:12:01
- Link: https://blog.cccs7.icu/2023/03/10/设计模式/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments