工厂模式是编码过程中最常用的设计模式之一;
工厂模式,顾名思义,就像生活中的工厂一样,原材料进去,成品出来,客户不用关心生产过程。
例如:当我们有许多订单需要处理的时候,不必一一找生产线生产,只需要将订单统一格式交给工厂;工厂会帮我们统一处理。当订单多的时候,不至于代码凌乱,同时做到了低耦合。
设计模式实际上是将我们生活中的一些技巧用到代码中。
工厂模式主要技术就是C++中的多态性,将子类的实例赋值给基类接口指针,通过基类接口指针调用成员函数可动态联翩到子类对应的函数。
这里的这个工厂例子使用了模板基础类,用于实现公共方法。
#include <iostream.h>
typedef unsigned int U32;
typedef U32 TRANSACTION;
#define ORDER1_REQ 1
#define ORDER2_REQ 2
union MESSAGE
{
TRANSACTION orderNo;
};
//订单消息头,
typedef struct orderHeader
{
TRANSACTION orderNo;
char* name;
} orderHeader;
//订单1 (生产电视)
typedef struct order1Req:orderHeader
{
char* television;
float money;
} order1Req;
//订单2 (生产电视和空调)
typedef struct order2Req:orderHeader
{
char * television;
char * aircondition;
float money;
} order2Req;
//订单接口类
class