设计模式

**

1、策略模式

对于分支语句,尽量使用策略模式来增加代码的可复用性,
使用父类指针指向不同的子类对象来实现不同的功能。
子类对象通过工厂给我们。

**
**

2、观察者模式

如果A要时时刻刻通知B信息,可以在A中直接对B进行操作,但是代码复用性很差。如果后期想改成C,D,还需要进入A中修改代码。
可以抽象一个虚基类(接口),A中有接口的指针,可以指向不同的子类,在A中调用接口的方法,就可以实现多态。

**
**

3、装饰模式

过多使用继承也会带来代码的臃肿。
现在有字节流A类,
可以有子类文件流B,网络流C
B和C分别又有加密文件流D,缓冲文件流E,加密网络流F,加密网络流G。
等等等等。。。可见继承会带来过多的代码臃肿。
使用装饰模式,
A * a = new A();
B* b= new B(b);
D * d = new D(b);
d->方法;运行时装配,根据需要选择进行一层层进行封装(装饰)
**

4、桥模式

你可能感兴趣的:(设计模式)