桥接模式是适应多个维度变化的一种模式,比如一个日志类,它面向多个平台,这是一种变化,记录日志的手段不同(json或xml或特定格式),这又是一种变化.桥接模式就是在于利用对象的组合将这两个维度上的变化分开,比如不同平台的实现方式可以成为一个被组合的成员对象,向上提供接口,而不同手段的变化则体现在子类上.
装饰模式是适应新需求的不断增加的一种模式,在.net中的典型应用就是stream,对于一个stream类要求它增加一个缓存的功能,又要求它再增加一个加密的功能,这一个又一个新增的功能就像是一个个新的装饰品.以stream为例,该模式实现的要点在于利用对象的组合将stream作为一个成员对象,再新增成员函数来实现缓存,然后再以这个新对象作为成员对象,新增成员函数来实现加密,这样新的对象就既有缓存又有加密的功能了,避免了类爆炸,一层一层地嵌套,关于该模式详见点击打开链接
本文探讨了桥接模式和装饰模式的应用。桥接模式通过组合解决多维度变化问题,如跨平台日志记录的不同格式;装饰模式通过对象组合动态添加职责,避免类爆炸,例如在.NET中对Stream类逐层添加缓存和加密功能。
1479

被折叠的 条评论
为什么被折叠?



