构造者模式是创建型模式的一种。
构造者模式在CPP中的应用是,将对象的创建过程切片,针对每个分片,不同的工厂有不同的创建方法。--和工厂模式的区别在于切片。
C中创建一个对象很简单,分配内存,初始化即可。因此“切片”可以简单理解为初始化的分级(stage)。
http://blog.csdn.net/feixiaoxing/article/details/7169888
这里的例子马马虎虎,摘录如下:
- typedef struct _AssemblePersonalComputer
- {
- void (*assemble_cpu)();
- void (*assemble_memory)();
- void (*assemble_harddisk)();
- }AssemblePersonalComputer;
- void assemble_intel_cpu()
- {
- printf("intel cpu!\n");
- }
- void assemble_samsung_memory()
- {
- printf("samsung memory!\n");
- }
- void assemble_hitachi_harddisk()
- {
- printf("hitachi harddisk!\n");
- }
- void assemble_amd_cpu()
- {
- printf("amd cpu!\n");
- }
- void assemble_kingston_memory()
- {
- printf("kingston memory!\n");
- }
- void assmeble_western_digital_harddisk()
- {
- printf("western digital harddisk!\n");
- }