C语言设计模式:构造者模式

来源:互联网 发布:buildprop游戏优化代码 编辑:程序博客网 时间:2024/05/18 02:24

构造者模式是创建型模式的一种。

构造者模式在CPP中的应用是,将对象的创建过程切片,针对每个分片,不同的工厂有不同的创建方法。--和工厂模式的区别在于切片。

C中创建一个对象很简单,分配内存,初始化即可。因此“切片”可以简单理解为初始化的分级(stage)。



http://blog.csdn.net/feixiaoxing/article/details/7169888

这里的例子马马虎虎,摘录如下:

[cpp] view plaincopy
  1. typedef struct _AssemblePersonalComputer  
  2. {  
  3.     void (*assemble_cpu)();  
  4.     void (*assemble_memory)();  
  5.     void (*assemble_harddisk)();  
  6.   
  7. }AssemblePersonalComputer;  
    对于一个希望配置intel cpu,samsung 内存、日立硬盘的朋友。他可以这么设计,

[cpp] view plaincopy
  1. void assemble_intel_cpu()  
  2. {  
  3.     printf("intel cpu!\n");  
  4. }  
  5.   
  6. void assemble_samsung_memory()  
  7. {  
  8.     printf("samsung memory!\n");  
  9. }  
  10.   
  11. void assemble_hitachi_harddisk()  
  12. {  
  13.     printf("hitachi harddisk!\n");  
  14. }  
    而对于一个希望配置AMD cpu, kingston内存、西部数据硬盘的朋友。他又该怎么做呢?

[cpp] view plaincopy
  1. void assemble_amd_cpu()  
  2. {  
  3.     printf("amd cpu!\n");  
  4. }  
  5.   
  6. void assemble_kingston_memory()  
  7. {  
  8.     printf("kingston memory!\n");  
  9. }  
  10.   
  11. void assmeble_western_digital_harddisk()  
  12. {  
  13.     printf("western digital harddisk!\n");  
  14. }