zoukankan      html  css  js  c++  java
  • 设计模式 工厂方法模式

    工厂方法模式(Factory Method Pattern):(工厂模式)也叫做虚拟构造器模式者多态工厂模式,属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生成具体的产品对象。

    工厂方法模式包含如下四种角色:

    • Protect:抽象产品
    • ConcreteProtect:具体产品
    • Factory:抽象工厂
    • ConcreteFactory:具体工厂

    具体流程为客户端掌握具体工厂的名称,根据具体工厂的名称抽象工厂发送请求,获取到一个具体工厂的对象,由具体工厂对象创建出具体的产品,关系类图如下,客户端引用抽象工厂和和抽象产品类,具体工厂和具体产品类分别继承抽象工厂以及抽象产品类,具体工厂引用具体产品类,关系为制造关系。

     工厂方法模式优点:

    • 用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需关心具体产品类的类名。
    • 工厂可以自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体产品内部。
    • 在系统中增加新产品是,无需修改抽象工厂和抽象产品提供的具体接口,只需要添加一个具体工厂和具体产品即可。

     缺点:

    • 类的数量过多
    • 增加了系统的抽象性和理解难度
  • 相关阅读:
    Kth element of Two Sorted Arrays
    Populating Next Right Pointers in Each Node I && II
    Average waiting time of SJF and Round Robin scheduling
    LRU Cache
    Calculate H-index
    Get Level of a node in a Binary Tree
    Two Sum
    Intersection of Two Linked Lists
    Symmetric Tree
    Lowest Common Ancestor of Binary (Search) Tree
  • 原文地址:https://www.cnblogs.com/wfswf/p/15615047.html
Copyright © 2011-2022 走看看