6大设计原则及23种设计模式
2021-06-21 22:23:08 21 举报
AI智能生成
6大设计原则及23种设计模式
作者其他创作
大纲/内容
6大设计原则及23种设计模式
设计模式原则
开闭原则(Open Close Principle,OCP)
里氏替换原则(Liskov Substitution Principle,LSP)
子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法
子类中可以增加自己特有的方法
当子类重载父类方法时,形参的范围要比父类的形参范围大,这样别的类调用这个方法时会优先匹配父类的实现而不是子类的实现
当子类实现父类的抽象方法时,方法的返回值要比父类更严格,也可以说成更具体
依赖倒转原则(Dependence Inversion Principle,DIP)
当前对象本身(this)
作为参数的对象
成员变量
集合成员变量中的元素
创建的对象
创建型(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 条评论
回复 删除
下一页