设计模式主要是对我们的程序进行优化,实现程序的可复用、可维护、可扩展和灵活性好等。任何一个程序并不是开发出来就算成功了,应该从各方面都能较好的适应我们的应用才可以。而设计模式就是在我们有一定的代码基础上,对我们的编程进行规范化的一个过程。
《大话设计模式》中主要讲了23种模式和6大原则,无论哪种模式,都应该符合设计模式的原则。课本上根据不同模式的特点将其分为创建型、结构型和行为型三种类型。下面我将根据自己的理解对他们进行了分类:
1、 分离
建造者模式将对象的构建与表示分离,这样就使得同样的构建过程可以创建不同的表示(有点多态的味道);
桥接模式将抽象部分与实现部分分离;
抽象工厂将创建实例过程与客户端分离;
访问者模式把处理从数据中分离出来;
命令模式将请求一个操作的对象与知道怎么执行一个操作的对象分离。
2、 操作
策略模式定义算法并封装,使算法的变化不会影响使用该算法的用户;
模版方法定义算法的骨架,使得子类可以不改变算法结构便可重新定义该算法的步骤。
迭代器模式提供一种方法来访问聚合对象中的各个元素;
3、 接口
外观模式为子系统中的一组接口提供一个一致的界面,可以理解为高层接口;
适配器模式将一种接口转化为希望的另一个接口,解决了接口不兼容的问题;
工厂模式定义用于创建对象的接口,让子类决定实例化哪一个类;而抽象工厂是工厂模式的升华,它可以创建一系列的接口;
4、 对象
这一组都是针对对象进行的操作:
装饰模式动态地给一个对象添加额外职责;
代理模式为其他提供一种代理以控制这个对象的访问;
原型模式通过拷贝原型创建新对象;
组合模式将对象组合成树形结构表示‘部分-整体’层次结构;
命令模式将一个请求封装为一个对象;
职责链使多个对象都有机会处理请求;
中介者模式用一个中介对象封装一系列的对象交互;
享元模式运用共享技术有效地支持大量细粒度的对象;
5、 其他
观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象;
状态模式使对象内在状态改变时允许改变其行为;
备忘录模式主要是存储某个状态,可以随时恢复到原来状态;
单例模式保证一个类仅有一个实例;
解释器模式解释语言中的句子;
设计模式中的原则是指导程序编写必不可少的,任何程序必须遵守这几种原则:
设计模式是我们今后学习不可或缺的一部分,这个阶段我们需要好好了解各个模式的概念,知道何种情况下用哪一种模式去设计;开始的时候肯定不明白应该如何去运用,还是那句话,先了解基本的,然后再去实践。