三论GProductCreator和FactoryUsingPointer
来源:互联网 发布:plsql登录数据库空白 编辑:程序博客网 时间:2024/06/02 12:02
我c/c++版发表了这篇文章的第(一)(二)两部分,现在我把它的第三部分发表到c/c++,vc++,设计模式,类库及组件版,因为我发觉这两个东西和这些版块都有关联,同时它们也值得让更多人了解。 我很郁闷我发出去的文章居然没有一个换行`_`,给大家阅读带来极大不便只能说sorry(也代管理员说sorry)./n///n/////n 我昨天晚上发现,利用GAbstractCreator和GProductCreator可以很容易实现Abstract Factory模式,只需要几组#define,所以我可以说,我们现在拥有了一个抽象工厂自动生成器!假设GOject,TObject是两个继承体系的基类,GTank,GBullet,GBomb继承自GObject,而TTank,TBullet,TBomb继承自TObject那么我可以定义一个抽象工厂,只用namespace和#define!namespace ConcreteFactroyG{#define createTank GProductCreator();#define createBullet GProductCreator();#define createBomb GProductCreator(); }namespace ConcreteFactroyT{#define createTank GProductCreator();#define createBullet GProductCreator();#define createBomb GProductCreator(); }不同的工厂做不同系列的产品,这句话大约体现了抽象工厂的本质,你在这里清晰的看到了这种本质。Loki的抽象工厂提供了更好的灵活性,但是太过于复杂难于看懂(呵呵,我也没看全懂),而且它似乎没有提供CreatePolicy,所有的产品一律用new生成,然而在上面的抽象工厂中,你可以为任何产品定制一个creator(为GProductCreator提供第三个参数)。根本不需要AbstractFactory,但是后面我们将会看到,AbstractFactory是有用的。
- 三论GProductCreator和FactoryUsingPointer
- 四论GProductCreator和FactoryUsingPointer
- 句柄和指针 三
- (三)对象和类型
- 妓女和小三
- C和指针 三
- 三.指南针和磁力计
- Window和WindowManager(三)
- (三)栈和队列
- 论软件架构师的基本素养: 三要和三不要
- 三三步骤关于离婚和财务
- zuma三阶段论和技术道路[一]
- zuma三阶段论和技术道路[一]
- zuma三阶段论和技术道路[一]
- 论设计,需求和编码三者的关系
- 求职信“三忌”“三要”和“三突出”
- 三、动机和目的(一)
- 三、动机和目的(二)
- flag, pens, etc.
- JDK1.5.0 - JAVA开发包
- magnet, garment.
- scooter, electric group
- pole, chair, etc.
- 三论GProductCreator和FactoryUsingPointer
- 折点文件的改进型存储方式
- HTML4标签的默认样式列表
- 每个java初学者都应该搞懂的问题!
- 我的大三总结报告?(强烈推荐!)写在大三的最后一天!
- 不再为不值得的事情激动
- 对于网上一些有关于Tapestry的一些资源
- 义
- 人生的七个经典问题