三大工厂模式

工厂模式主要是对对象的创建进行控制。
一、简单工厂模式:
根据条件取工厂类
二、工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

public class test : MonoBehaviour
{

    // Use this for initialization
    void Awake()
    {
        IFactory operFactory = new AddFactory();
        Operation oper = operFactory.CreateOperation();
        oper.a = 5;
        oper.b = 2;
        var result = oper.GetResult();

        Debug.Log(result);
    }

}

abstract class Operation
{
    public double a;
    public double b;
    public abstract double GetResult();

}

class OperationAdd : Operation
{
    public override double GetResult()
    {
        return a + b;
    }
}

class OperationSub : Operation
{
    public override double GetResult()
    {
        return a - b;
    }
}

class OperationMul : Operation
{
    public override double GetResult()
    {
        return a * b;
    }
}

class OperationDiv : Operation
{
    public override double GetResult()
    {
        return a / b;
    }
}


interface IFactory
{
    Operation CreateOperation();
}

class AddFactory : IFactory
{
    public Operation CreateOperation()
    {
        return new OperationAdd();
    }
}

class SubFactory : IFactory
{
    public Operation CreateOperation()
    {
        return new OperationSub();
    }
}

class MulFactory : IFactory
{
    public Operation CreateOperation()
    {
        return new OperationMul();
    }
}

class DivFactory : IFactory
{
    public Operation CreateOperation()
    {
        return new OperationDiv();
    }
}

三、抽象工厂模式:类似抽象工厂方法,提供一个创建一系列相关或相互依赖对象的接口,无需指定具体的类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天学习下最常见的工厂模式,工厂模式细分下来有三大类: 他们的目标都是一样的:封装对象的创建。但是实现手段和使用场...
    西木柚子阅读 2,179评论 7 28
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,979评论 1 15
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 1 场景问题# 1.1 导出数据的应用框架## 考虑这样一个实际应用:实现一个导出数据的应用框架,来让客户选择数据...
    七寸知架构阅读 6,825评论 6 75
  • 简单工厂模式: 简单工厂模式不是设计模式中的一种,但是也比较常用,所以拿出来对比下。提取出来一个类单独创建各种各种...
    缄默的石头阅读 1,233评论 0 0