在创建型模式里面还有两个就是builder 和 prototype
1 生成器模式
生成者模式和工厂模式有点像,都是封装了创建对象的过程,创建出对象,但builder模式强调一步步创建,不同的输入参数,同样的创建过程而创建出不同的对象,在builder里面,对象一般是比较复杂并由很多对象组成的,每一步创建出其中的一部分;另外创建者模式不像工厂模式一样直接返回对象,而是提供一个接口来得到对象。其类关系图如下

其中Director提供一个调用Builder里面各个BuildX的函数,创建出Product对象,但并不直接返回,而是调用Builder类里面的GetProduct函数返回对象。另外,Director虽然调用BuildeX的顺序一样,但是具体的ConcreteBuilder不一样,创建出来的对象是不一样的。
2 原型模式(prototype)
原型模式其实很简单,那就是提供接口,克隆一个和自己一样的对象。其类关系图如下

其实在C++里面,这个功能可以通过拷贝构造函数或重载赋值运算符来实现
本文深入探讨了生成器模式和原型模式的区别与应用,解释了如何在复杂对象创建过程中利用这些模式提高代码的可读性和灵活性。通过具体实例,展示了如何在不同场景下选择合适的模式以简化对象构建过程。
2585

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



