博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工厂模式之简单工厂案例
阅读量:4654 次
发布时间:2019-06-09

本文共 1475 字,大约阅读时间需要 4 分钟。

简单工厂模式

首先创建控制台应用程序项目

1.创建Product抽象产品类,将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中

 

public abstract class Product    {        public abstract string Create();            }

 

2.创建ConcreteProductA具体产品类,将需要创建的产品对象的相关代码封装到具体产品类中

public class ConcreteProductA : Product.Product    {        public override string Create()        {            return "创建具体产品A";        }    }

3.创建ConcreteProductB具体产品类,将需要创建的产品对象的相关代码封装到具体产品类中

public class ConcreteProductB : Product.Product    {        public override string Create()        {            return "创建具体产品B";        }    }

4.创建Factory工厂类,用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入参数的不同创建不同的具体产品对象。

 

public class Factory    {        public static Product.Product Create(string name)        {            if (name=="A")            {                return new ConcreteProductA.ConcreteProductA();            }            else if (name=="B")            {                return new ConcreteProductB.ConcreteProductB();            }            else            {                return null;            }        }    }

 

5.Program类中,调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象,通过Console.WriteLint()输出对应的提示信息。

 

static void Main(string[] args)        {            Product.Product product1 = Factory.Factory.Create("A");            Console.WriteLine(product1.Create());            Product.Product product2 = Factory.Factory.Create("B");            Console.WriteLine(product2.Create());            Console.ReadKey();        }

 

结果:

 

转载于:https://www.cnblogs.com/lhl123/p/10642606.html

你可能感兴趣的文章
CharacterStyle的简单使用
查看>>
费用流做题记录
查看>>
jni集成第3方third party动态库libwebrtc_audio_preprocessing.so时android.mk的编写
查看>>
51Nod 1113 矩阵快速幂
查看>>
C#基础之------进制转换
查看>>
年底得了个公司奖金,但是我却高兴不起来
查看>>
SQL Server 下取中位数(中位值)的方法
查看>>
Using databases and Structured Query Language (SQL)
查看>>
网络对抗作业一
查看>>
路径规划效果图
查看>>
JAVA-注解规范
查看>>
Jmeter下进行ip伪造
查看>>
如何解决SQL Server 2008 无法连接到(local)
查看>>
java 向上转型 向下转型
查看>>
mysql的数据结构
查看>>
【目标流畅阅读文献】kick off
查看>>
Python学习之路-26 Socket
查看>>
mysqldump不得不说的秘密
查看>>
优化Android Studio/Gradle构建(转)
查看>>
DDD领域模型数据访问权限之用户权限(十)
查看>>