随笔 - 6  文章 - 0  评论 - 0  阅读 - 301

OO 设计模式

面向对象(Object Oriented - OO)
设计模式(Design Pattern)


概念
、设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结

3个大类,23个设计模式
、创建型模式:对象实例化的模式
  单例模式:确保某一个类只有一个实例,并且提供一个全局访问点
  简单工厂模式:让子类来决定要创建哪个对象
  抽象工厂模式:创建多个产品族中的产品对象
  建造者模式:用来创建复杂的复合对象
  原型模式:通过复制原型来创建新对象
、结构型模式:把类或对象结合在一起形成一个更大的结构
  适配器模式:将原来不兼容的两个类融合在一起
  桥接模式:将两个能够独立变化的部分分离开来
  组合模式:将整体与局部(树形结构)进行递归组合,让客户端能够以一种的方式对其进行处理
  装饰者模式:为对象添加新功能
  外观模式:对外提供一个统一的接口用来访问子系统
  享元模式:使用对象池来减少重复对象的创建
  代理模式:控制客户端对对象的访问
、行为型模式:类和对象如何交互,及划分责任和算法
  责任链模式:将事件沿着链去处理
  命令模式:将请求封装成命令,并记录下来,能够撤销与重做
  解释器模式:定义语法,并对其进行解释
  迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素
  中介者模式:将网状结构转变为星型结构,所有行为都通过中介
  备忘录模式:保存对象的状态,在需要时进行恢复
  观察者模式;状态发生改变时通知观察者,一对多的关系
  状态模式:根据不同的状态做出不同的行为
  策略模式:封装不同的算法,算法之间能互相替换
  模板方法模式:定义一套流程模板,根据需要实现模板中的操作
  访问者模式:基于稳定数据结构,定义新的操作行为

7大设计模式原则
、单一职责原则(SRP):一个类应该只有一个发生变化的原因
、开放封闭原则(OCP):软件实体应该对扩展开放,对修改关闭。是设计原则的核心
、里氏替换原则(LSP):子类可以扩展父类的功能,但不能改变父类原有的功能。是对子类型的特别定义
、接口隔离原则(ISP):客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上
、依赖倒置原则(DIP):程序要依赖于抽象接口,不要依赖于具体实现。简单说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
、迪米特法则:一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解
、合成复用原则:要少用继承,多用合成关系来实现

4要素
、模式名称:用一两个词来描述模式的问题、解决方案和效果
、问题:描述了应该在什么情况下使用设计模式
、解决方案:描述了设计的组成成分,他们之间相互关系及各自职责和协作方式
、效果:描述了模式应用效果及使用模式应权衡问题

 

常用的设计模式:单列模式、简单工厂模式、抽象工厂模式、装饰者模式、代理模式、责任链模式、观察者模式

 

posted on   24棵向日葵  阅读(55)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示