美文网首页学习设计模式
5,工厂方法模式

5,工厂方法模式

作者: Kenny丶Mo | 来源:发表于2017-09-23 23:03 被阅读16次

1,定义

工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实现哪一个类,工厂方法使一个类的实例化延迟到子类

2,UML图

工厂方法

3。基本代码

4,简单实现

namespace FactoryMethod
{
    public abstract class Leifeng
    {
        public abstract void DoSomeThing();
    }

    public class ConcreteLeifengA : Leifeng
    {
        public override void DoSomeThing()
        {
            Debug.Log("ConcreteLeifengA DoSomething!");
        }
    }

    public interface IFactory
    {
        Leifeng CreateLeifeng();
    }

    public class FactoryA : IFactory
    {
        public Leifeng CreateLeifeng()
        {
            return new ConcreteLeifengA();
        }
    }

    #region  添加leifeng对象

    public class ConcreteLeifengB : Leifeng
    {
        public override void DoSomeThing()
        {
            Debug.Log("ConcreteLeifengB DoSomething!");
        }
    }

    public class FactoryB : IFactory
    {
        public Leifeng CreateLeifeng()
        {
            return new ConcreteLeifengB();
        }
    }

    #endregion
}


// 使用
    private void Start()
    {
        Leifeng Leifeng = null;

        //IFactory factory = new FactoryA();

        // 修改
        IFactory factory = new FactoryB();
        Leifeng = factory.CreateLeifeng();
        Leifeng.DoSomeThing();
    }

5,关于工厂方法模式的思考

1,简单工厂模式的优点,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相应的类,对于客户端来说,去除了与具体产品的依赖
2,工厂方法模式,客户端需要决定实例化哪一个工厂,工厂方法把简单工厂的逻辑判断转移到了客户端代码执行。
3,对于工厂方法如果修改的话需要在客户端修改相应的实例化的工厂的类,可以考虑用一个FactoryManager管理,避免修改很多地方。

相关文章

  • 23种设计模式分类

    创建型模式(5种): 工厂方法模式(Factory Method Pattern)抽象工厂模式(Abstract ...

  • 二十三种设计模式

    参考地址 一、创建型 1、单例模式 2、简单工厂 3、抽象工厂 4、工厂方法模式 5、模版方法模式 知道名字的模式...

  • 创建型模式1-工厂方法

    创建型模式1-工厂方法 创建型模式简 创建型模式主要有5个: 工厂方法(factory method) 抽象工厂(...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 《大话设计模式》-GoF的24种设计模式

    工厂方法模式 1. 单例模式 2. 简单工厂模式 3. 工厂模式 4. 建造者模式 5. 原型模式 6. 解释器模...

  • 设计模式-工厂方法模式

    1、工厂方法模式(Factory Method) 工厂方法模式分为三种: 普通工厂模式 多个工厂模式 静态工厂模式...

  • 设计模式 工厂模式

    工厂模式 工厂模式三大类1、简单工厂模式(静态工厂方法模式)2、工厂方法模式3、抽象工厂模式(Kit模式) 简单工...

  • 设计模式-工厂模式-原理剖析

    内容一:设计模式? 创建型模式->5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式->...

  • 38种Javascript设计模式

    38种设计模式 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 4.建造者模式 5.原型模式 6.单例模式 ...

网友评论

    本文标题:5,工厂方法模式

    本文链接:https://www.haomeiwen.com/subject/yujhextx.html