有些人已经解决你的问题了。 使用模式最好的方式是“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们”
以往是代码复用,现在是经验复用。
设计原则1:找出应用中可能需要变化,把它们独立出来,不要和那些不需要变化的代码混在一起。
所有的设计模式都提供了一套方法让“系统中某部分改变不会影响其他部分”
设计原则2:针对接口编程,而不是针对实现编程。
设计原则3:多用组合,少用继承。
设计原则4:为了交互对象之间的松耦合设计而努力
设计原则5:类应该对扩展开放,对修改关闭
设计原则6:要依赖抽象,不要依赖具体类
策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
装饰者模式: 动态的将责任附加到对象上。若要拓展功能,装饰者提供了比继承更有弹性的代替方案。
工厂方法模式:定义了一个创建对象的接口,但由自雷绝顶要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
单件模式:确保一个类只有一个实例,并提供一个全局访问点。
命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。
OO基础:
抽象、封装、多态、继承
OO原则:
封装变化、多用组合少用继承、针对接口编程,不针对实现编程
OO模式:
策略模式
策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。