༺༽༾ཊ—设计-简介-模式—ཏ༿༼༻

我对设计模式的理解就是一种可复用的面向对象的 设计工具 ,它与代码无关 ,我们可以利用设计模式设计出高内聚、低耦合的应用程序,并且最大程度实现程序的复用,以应对复杂的需求变化。

程序的可复用性就是用已存在的程序模块进行更新;

高内聚就是我有一组相互关联,紧密依赖的一些方法,我们需要将这些方法封装在一个类中

低耦合就是减少两个类或者多个类之间的相互依赖;

为了设计出高内聚、低耦合的应用程序,总结了七个原则

1.单一职责原则;

2.依赖倒置原则;

3.开闭原则;

4.接口隔离原则;

5.里氏替换原则;

6.合成复用原则;

7.迪米特原则;

设计模式大致分为三种类型:

1.++创建型设计模式++;

用于对象的创建,有五种类型:

①**单例(Singleton)**模式;

②**工厂方法(FactoryMethod)**模式;

③**抽象工厂(AbstractFactory)**模式;

④**建造者(Builder)**模式;

原型 **(Prototype)**模式;

2.++结构型设计模式++;

用于对象和对象的组合/类与类的组合,组合后的对象或者类更利于扩展,有七种类型:

①**组合(Composite)**模式;

②**适配器(Adapter)**模式;

③**包装器(Wrapper)/ 装饰器(Decorator)**模式;

④**桥接(Bridge)**模式;

⑤**外观(Facade)**模式;

⑥**享元(Flyweight)**模式;

⑦**代理(Proxy)**模式;

3.++行为型设计模式++;

用于解决对类和对象之间的交互与方法分配问题,有十一种类型:

①**状态(State)**模式;

②**策略(Strategy)**模式;

③**命令(Command)**模式;

④**访问者(Visitor)**模式;

⑤**解释器(Interpreter)**模式;

⑥**观察者(Observer)**模式;

⑦**责任链(ChainOfResponsibility)**模式;

⑧**迭代器(Iterator)**模式;

⑨**中介者(Mediator)**模式;

⑩**备忘录(Memento)**模式;

⑩+①:**模板方法(TemplateMethod)**模式;

总结:学好设计模式需要明白两点,第一++七个原则++ ,第二**++23种设计模式++**。

相关推荐
扫地的小何尚19 分钟前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
数据皮皮侠AI1 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
开开心心就好2 天前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节
Evan东少4 天前
[踩坑]笔记本Ubuntu20.04+NvidiaRTX5060驱动+cuda+Pytorch+ROS/Python实现人脸追踪(环境准备)
1024程序员节
不爱编程的小陈5 天前
C/C++每日面试题
面试·职场和发展·1024程序员节
开开心心就好5 天前
右键菜单管理工具,添加程序自定义名称位置
linux·运维·服务器·ci/cd·docker·pdf·1024程序员节
码农三叔6 天前
(4-2-05)Python SDK仓库:MCP服务器端(5)Streamable HTTP传输+Streamable HTTP传输
开发语言·python·http·大模型·1024程序员节·mcp·mcp sdk
西幻凌云10 天前
初始——正则表达式
c++·正则表达式·1024程序员节
启芯硬件11 天前
电源XL6009E1的dieshot细节分析-芯片设计干货
大数据·经验分享·硬件工程·1024程序员节
一颗青果12 天前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节