3种设计模式

1、代理模式

    看到书上的一个例子以潘金莲和王婆子为例,西门庆要找潘金莲,又怕别人说什么,所以就找了王婆子,然后,王婆子找了潘金莲。表面上看西门庆找的是王婆子(王婆子是潘金莲的代理),实际上西门庆找的是潘金莲,实现方式就是王婆和潘金莲同时实现一个借口,都是一类人,在王婆的构造方法中默认创建潘金莲的对象,这样,创建王婆实际上创建的是潘金莲,西门庆达到了自己的目的

2、命令模式

    三个方法都继承自一个抽象类,如果客户端想分别想通过这三个类实现不同的组合,会有很多种方式,客户需要对这三个类比较熟悉,客户需要自己去调用三个类的方法,从而实现目的,但是通过命令模式,及创建一个抽象类,其中定义了这三个抽象类,也定义了一个抽象方法。再分别定义多个类继承自新建的抽象类,通过对父类不同对象的方法调用实现不同的功能组合,从而实现功能。完成这些创建也就完成了大部分的功能,但是还需要增加一个接受者的类,接受者内需要有一个command私有变量,通过set方法注入command,在定义个一个功能方法中调用command的执行方法。

3、装饰模式

    想给一个对象增加一些功能,虽然可以通过多层集成的方式去实现,但是层太多了也不够灵活,可以通过装饰模式,及在新建的类中引用底层的抽象类或者接口,然后就可以对以前已经实现相同接口的对象进行二次加工,实现对象功能的增加。

猜你喜欢

转载自westboy172887564.iteye.com/blog/1808211