5、工厂方法模式(FactoryMethod)

第一种分类:简单工厂模式
    简单工厂模式,使用工厂的创建产品函数(参数为要创建的产品)创建产品。
main
{
    定义工厂指针 *pSimpleHumanFactory
    定义产品指针 并使用工厂指针创建产品A赋值给产品指针   IHuman *pYellowHuman = pSimpleHumanFactory->CreateHuman("YellowHuman");
    使用产品指针调用产品功能函数  pYellowHuman->Cry();
}




第二种分类:模板工厂模式
    模板工厂模式,先定义产品模板工厂(也就是此工厂只能生产此类产品)。然后调用工厂的创建产品函数创建产品
main
{
    定义产品模板工厂 StandardHumanFactory<YellowHuman> standardHumanFactory;
    调用工厂的创建产品函数创建产品,赋值给产品指针  IHuman *pYellowHuman = standardHumanFactory.CreateHuman();
    使用产品指针调用产品功能函数  pYellowHuman->Cry();
}




第三种分类:工厂方法模式
    工厂方法模式,先定义某种产品工厂指针(也就是一种工厂只生产一种产品,产品和工厂都有对应的接口类)。然后调用工厂的创建产品函数创建产品
main
{
    定义产品模板工厂 IHumanFactory *pHumanFactory = new YellowHumanFactory();
    调用工厂的创建产品函数创建产品,赋值给产品指针  IHuman *pYellowHuman = standardHumanFactory.CreateHuman();
    使用产品指针调用产品功能函数  pYellowHuman->Cry();
}
发布了48 篇原创文章 · 获赞 3 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章