设计模式初总结
1.策略模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
简单的用if-else解决问题所引起的问题比较多,不遵循开闭原则,策略模式将各种方案分离开来,让程序根据具体的需求来动态选择不同的策略方案。
2.观察者模式
定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。
它是一个使用率超高的设计模式,它的重要作用就是解耦合,将观察者和被观察者解耦,使它们之间的依赖性更小。
3.装饰者模式
动态的为一个对象添加一些额外的职责,比起创建子类更加灵活。
Conponent:抽象组件。
ConcreateConponent:组件具体实现类。
Decorator:抽象装饰者。
4.桥模式
将抽象部分与实现部分分离,使它们都可以独立地进行变化。
5.工厂模式
定义一个用于创建对象的接口,让子类决定实例化哪个类。
桥模式:Abstarction:抽象部分
RefinedAbstraction:优化抽象部分
Implementor:实现部分
ConcreateImplementorA:实现部分的具体实现
Client:客户类
6.抽象工厂模式:
为创建一组相关或者是相互依赖的对象提供一个接口,不需要指定它们具体的类。
7.原型模式
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
8.单例模式
确保一个类只有一个实例,并且自动实例化并向整个系统提供这个实例。
9.享元模式
使用共享对象,支持大量细粒度对的对象。
.
10.代理模式
为其他对象提供一种代理以控制对这个对象的访问。
11.适配器模式
它把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类可以在一起工作。