2.2创建型模式之工厂方法(Factory Method)模式

工厂方法模式(Factory Method Pattern)又称为工厂模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。

2.2创建型模式之工厂方法(Factory Method)模式
Product* ConcreteFactory::factoryMethod(){

	return  new ConcreteProduct();
}
Factory * fc = new ConcreteFactory();
Product * prod = fc->factoryMethod();

工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了面向对象的多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。

优缺点

工厂方法模式的主要优点是增加新的产品类时无须修改现有系统,并封装了产品对象的创建细节,系统具有良好的灵活性和可扩展性;其缺点在于增加新产品的同时需要增加对应的新的工厂,导致系统类的个数成对增加,在一定程度上增加了系统的复杂性。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/pattern/7304.html

(0)
上一篇 2021年6月1日 14:31
下一篇 2021年6月2日 22:30

相关推荐

  • 2.1创建型模式之简单工厂(Simple Factory)模式

    简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 优缺点 简单工厂模式最大的优…

    设计模式 2021年6月1日
    03110
  • 2.3创建型模式之抽象工厂(Abstract Factory)模式

    抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工…

    设计模式 2021年6月3日
    02210
  • 2.5创建型模式之单例(Singleton)模式

    对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。 一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法…

    设计模式 2021年6月5日
    01940

发表回复

登录后才能评论