千万,千万,不要被所谓的设计模式给框死了!!! 在我看来,设计模式相当于学术向的东西,而我们程序员实际开发中,设计模式不会按部就班的套用的。
一个比较形象的比喻:设计模式就像武功秘籍,而当你真正面对敌人时,不会按照武功秘籍全套演一遍给人看吧,真想打败敌人,还要靠多本秘籍的不同排列组合才行,见招拆招才是王道!
只有将多个设计模式融会贯通,活学活用,才能走上高端程序员的道路。
注意遵守这几个重要的原则,代码质量将有质的飞跃
- 开闭原则(抽象约束、封装变化)
- 里氏替换原则(可以扩展,重写,但不能改变原有的东西)
- 依赖倒置原则(每个类尽量提供接口或抽象类)
- 单一职责原则(全局单一性原则)
- 接口隔离原则(拆分成多个小接口,降低类对接口的依赖性)
- 迪米特法则(类似于中介)
- 合成复用原则(将已有的对象纳入新对象中,作为新对象的成员对象来实现)
列一些比较常用的设计模式
- 单例(太简单,单不要轻易使用,注意并发,加锁的性能)
- 工厂模式(提前生产以便不时之需)
- 适配器模式(处理通用业务的神器)
- 代理模式(一般用于框架搭建,架构师常用) ...
下面介绍下比较经典的设计模式,以及可能使用的场景。
