设计模式

把模式装入脑子,然后在自己的设计和已有的应用中,寻找何处可以使用它们。以往是代码的复用,而设计模式是经验的复用。
1. 策略模式定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

     对于鸭子问题:一般的鸭子都会游泳和展现自己的外貌。  橡皮鸭不会飞,但会吱吱叫。   木头鸭不会飞也不会叫。

     解决办法:a. 使用继承:让鸭子都具有这些行为显然不合适。

                   b. 利用接口:只有会飞的鸭子才继承Flyable接口,但Java接口不具有代码的实现,不能达到代码的复用。(这意味着在每个实现类中都要追踪Flyable接口方法的实现,可能会造成新的错误)。

                   c. 此处将鸭子中不变的swim和display两个不变的部分和飞行与叫的两个行为分开。(受设计原则a影响)

 

设计原则:

       a.将应用中可变的和不变的分离开。(所有设计模式的核心:将不变的和变的分离开,使得变的部分不会影响其他部分)。

       b.针对接口编程,而不是实现。

posted @ 2014-10-09 16:08  cjt1991  阅读(141)  评论(0编辑  收藏  举报