设计模式
...大约 2 分钟
设计模式(Design Pattern)是一套被反复使用、思想深入、经过分类编制、抽象和系统化的总结,是代码设计的经验总结。
常见的设计模式(六大模式)
单例模式:保证一个类只有一个实例,并提供一个全局访问点。
工厂模式:通常分为3个角色
- 工厂角色-负责创建所有实例的内部逻辑
- 抽象产品角色-定义产品的接口
- 具体产品角色-创建目标,实现抽象产品角色的接口
策略模式:定义一系列算法,并将每个算法封装起来,使它们可以相互替换,且客户端可以自由选择使用哪个算法。
- 策略类(可变):策略类封装具体的算法,并提供一个接口,客户端可以调用该接口使用算法。
- 环境类(不可变):环境类持有策略类的引用,并提供一个接口,客户端可以调用该接口使用策略。
代理模式:为对象提供一个代用产品或占位符,以便在运行时动态地替换掉它。
中介者模式:定义一个中介对象,该对象通常处理不同类之间的通信,并支持松耦合。
装饰者模式:在不改变对象自身的基础上,动态地给对象增加额外的职责。
总结:
- 从许多优秀的软件系统中总结出成功的,能够实现可维护、可扩展、可复用、灵活应对变化的设计模式。
- 设计模式是一套被反复使用、思想深入、经过分类编制、抽象和系统化的总结,是代码设计的经验总结。
- 设计模式并不是银弹,适合于不同的场景,不能盲目使用。
- 设计模式的核心是“开闭原则”,即对扩展开放,对修改封闭。
工厂模式
- 工厂模式根据抽象程度可分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。
- 简单工厂模式(静态工厂模式):一个工厂类负责创建所有实例,并向客户端提供该实例。
- 工厂方法模式:一个抽象工厂类负责创建产品,而子类负责实现具体的创建逻辑。
- 抽象工厂模式:一个抽象工厂类负责创建一系列相关的产品,而子类负责实现具体的创建逻辑。
Powered by Waline v3.2.2