C++设计模式
文章平均质量分 73
@Finish_all
一切都要慢慢习惯
展开
-
C++设计模式之工厂模式
抽象基类是不允许创建为对象的。但是代码4中ISplitter* splitter = factory.CreateSplitter()构建的新对象仍然违背了依赖倒置原则,因为splitter依赖于具体的factory,factory依赖与BinarySplitter()具体。工厂方法设计了一个设计了一个工厂的虚基类SplitterFactory,该类有一个返回基类指针的纯虚函数CreateSplitter(),当我们把这个创建对象的函数写成纯虚函数,可以由具体工厂的类(子类)确定生成哪一种对象。原创 2022-11-20 21:46:18 · 156 阅读 · 0 评论 -
C++设计模式之桥模式
基类Messager分为两个类,一个是Messager类,一个是MessagerImp类,平台的选择通过多态指针messagerImp实现,在运行时被确定。从上述子问题拆分方式进行业务代码实现,我们实现了很多类,基类1个,平台实现类2个,业务抽象类2*2个。然而在实际业务中,你的平台实现和业务抽象类将会更多,假设n个实现平台,m个业务抽象方法,那将会有1+n+m*n个类,如下代码是我们没有学习过桥模式写出的代码,下面代码通过功能分解的方法将一个复杂功能伪代码实现。桥模式也是设计模式中单一组件模式的一种。原创 2022-11-20 16:34:44 · 649 阅读 · 0 评论