观察者模式(Observer Pattern)定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新。观察者模式也被称为发布订阅模式,属于行为型设计模式。
设计模式09-装饰者模式
装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)。装饰者模式属于结构型设计模式。
设计模式08-适配器模式
适配器模式(Adapter Pattern)是指将一个类的接口转换成用户期望的另一个接口,使原本接口不兼容的类可以一起工作。适配器模式属于结构型设计模式。
设计模式07-模板模式
模板模式通常又称为模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。模板方法属于行为型设计模式。
设计模式06-策略模式
策略模式(Strategy Pattern)是指定义了算法家族、分别封装起来,让它们之间可以相互替换。此模式中算法的变化不会影响使用算法的用户。
设计模式05-委派模式
委派模式(Delegate Pattern)的基本作用是负责任务的调度和分配,与代理模式类似,可以认为是一种特殊情况下静态代理的全权代理。委派模式属于行为型模式,不属于GOF 23种设计模式之一。使用委派模式时类文件名称一般以Dispatcher结尾。
设计模式04-代理模式
代理模式(Proxy Pattern)是指为其它对象提供一种代理,以控制对这个对象的访问。代理对象在调用端与目标对象之间起到中介作用。代理模式属于结构型设计模式。
设计模式03-原型模式与建造者模式
设计模式02-单例模式
单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。单例模式属于创建型模式。它提供了一种创建对象的方式,确保只有单个对象被创建,从而节约资源、节约时间。
设计模式01-工厂模式
在实际生活中,原始社会自给自足(没有工厂)→农耕社会小作坊(简单工厂)→工业革命以后的流水线(工厂方法)→现代产业链工厂(抽象工厂);项目代码同样也是由简至繁逐步迭代而来,创建者封装复杂的创建逻辑,简化调用者的调用逻辑。
设计模式00-软件设计原则
为什么要使用设计模式
- 使用设计模式能帮助我们更好地解决实际问题,经典框架都在用设计模式解决问题
- 学习前人是如何总结经验的,把经验化为己用。例如,写出优雅的代码、重构项目
- 培养将业务需求转换为技术实现的能力
设计模式中的设计原则在项目实践经验较少的情况下,仅凭描述很难真正领悟,需要动手去写示例代码以及项目实践中去慢慢体会、感受这些设计原则的魅力。
开发工作中的常用术语
工作中的一些常用术语,便于沟通。