6大设计原则及23种设计模式
2021-06-21 22:23:08 21 举报
AI智能生成
6大设计原则及23种设计模式
作者其他创作
大纲/内容
设计模式原则
开闭原则(Open Close Principle,OCP)
里氏替换原则(Liskov Substitution Principle,LSP)
子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法
子类中可以增加自己特有的方法
当子类重载父类方法时,形参的范围要比父类的形参范围大,这样别的类调用这个方法时会优先匹配父类的实现而不是子类的实现
当子类实现父类的抽象方法时,方法的返回值要比父类更严格,也可以说成更具体
依赖倒转原则(Dependence Inversion Principle,DIP)
单一职能原则(Single Responsibility Principle, SRP)
接口隔离原则(Interface Segregation Principle, ISP)
迪米特原则(Law of Demeter, LoD)
当前对象本身(this)
作为参数的对象
成员变量
集合成员变量中的元素
创建的对象
合成复用原则(Composite Reuse Principle, CRP)
创建型(ConstructionalPatterns)
**单例模式(SingletonPattern)(确保对象的唯一性)**
定义
角色与理解
核心代码
**工厂模式(FactoryPattern)**
简单工厂模式(SimpleFactoryPattern)
定义
结构图
角色与理解
工厂类中包含静态工厂方法,出参为产品类,客户端通过传入不同入参去调用静态工厂方法去获取不同的具体产品类
工厂类中的静态工厂方法通过if else 判断去实例化不同的具体产品类
核心代码
**工厂方法模式(FactoryMethodPattern)**
定义
结构图
角色与理解
核心代码
**抽象工厂模式(AbstractFactoryPattern)**
定义
结构图
角色与理解
核心代码
**原型模式(PrototypePattern)(对象的克隆)**
定义
结构图
角色与理解
ShallowClone与DeepClone
核心代码
**建造者模式(BuilderPattern)(复杂对象的构建)**
定义
结构图
角色与理解
核心代码
结构型(StructuralPatterns)
适配器模式(AdapterPattern)(不兼容结构的协调)
定义
结构图
角色与理解
核心代码
桥接模式(BridgePattern)(处理多个维度的变化)
定义
结构图
角色与理解
核心代码
组合模式(CompositePattern)(树形结构的处理)
定义
结构图
角色与理解
组合模式的关键是抽象构件类,它既可以表示叶子节点也可以表示容器节点,对于客户端而言是统一对抽象构件进行处理的,抽象构件类和容器构件类是聚合关联的关系,抽象构件类是容器构件类的一部分,这样容器构件类对子构件进行处理时不用区分是叶子节点还是容器节点,能够统一的做处理。
核心代码
装饰模式(DecoratorPattern)(拓展系统功能)
定义
结构图
角色与理解
核心代码
门面模式(FacadePattern)(子系统的统一入口)
定义
结构图
角色与理解
核心代码
享元模式(FlyweightPattern)(实现对象的复用)
定义
结构图
角色与理解
行为型(BehavioralPatterns)
责任链模式(ChainOfResponsibilityPattern)(请求的链式处理)
定义
结构图
角色与理解
核心代码
命令模式(CommandPattern)(请求发送者与请求接收者解耦)
定义
结构图
角色与理解
核心代码
解释器模式(InterpreterPattern)(树形结构的处理)
定义
结构图
角色与理解
核心代码
迭代器模式(IteratorPattern)(遍历聚合对象中的元素)
定义
结构图
角色与理解
核心代码
中介模式(MediatorPattern)(协调多个对象间的交互)
定义
结构图
角色与理解
核心代码
备忘录模式(MementoPattern)(撤销功能的实现)
定义
结构图
角色与理解
核心代码
观察者模式(ObserverPattern)(对象间的联动)
定义
结构图
角色与理解
核心代码
状态模式(StatePattern)(处理对象的多种状态及其相互转换)
定义
结构图
角色与理解
核心代码
策略模式(StrategyPattern)(算法的封装与切换)
定义
结构图
角色与理解
核心代码
模板方法模式(StrategyPattern)
定义
结构图
角色与理解
抽象类提供模板方法(包含基本方法的执行顺序,可被重写),里边包含具体方法(子类的通用方法),抽象方法(供子类重写的方法),钩子方法(供子类重写控制模板方法逻辑的方法),子类重写父类,使类具有不同的功能。
核心代码
访问者模式(VisitorPattern)(操作复杂对象结构)
定义
结构图
角色与理解
核心代码
收藏
收藏
0 条评论
下一页