Builder模式是对创建物品的过程进行的封装,Brige模式是对实现方式的封装.
这么一说,好像简单了一些,其实隐藏在这两个模式之后的原理都是一样的.首先,把变化的部分抽取出来形成一个抽象类;其次,把这个抽象类中不变的操作抽取出来形成虚函数也就是常说的接口;再次,把这个抽象类以聚合指针或者引用的方式聚合在需要实用它们的类中,因为在C++中只有引用和指针才能有多态的行为.
虽然是不同的模式,原理还是一致的.类似上面那样抽取变化和不变部分形成接口和抽象类从而形成模式的方法几乎在任何一个模式中都有体现,Statgy模式是对算法的封装,Observer是对对象的封装,Factory是对不同的创建的封装,Iterator是对不同迭代器的封装等等.
这么一说,好像简单了一些,其实隐藏在这两个模式之后的原理都是一样的.首先,把变化的部分抽取出来形成一个抽象类;其次,把这个抽象类中不变的操作抽取出来形成虚函数也就是常说的接口;再次,把这个抽象类以聚合指针或者引用的方式聚合在需要实用它们的类中,因为在C++中只有引用和指针才能有多态的行为.
虽然是不同的模式,原理还是一致的.类似上面那样抽取变化和不变部分形成接口和抽象类从而形成模式的方法几乎在任何一个模式中都有体现,Statgy模式是对算法的封装,Observer是对对象的封装,Factory是对不同的创建的封装,Iterator是对不同迭代器的封装等等.
本文介绍了设计模式中的封装原理,通过Builder模式和Bridge模式解析如何将变化与不变的部分分离,形成接口和抽象类,以此来指导如Strategy、Observer、Factory等其他设计模式的设计思路。

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



