2.简单工厂
来源:互联网 发布:个人数据交易平台 编辑:程序博客网 时间:2024/06/06 22:04
使用环境
某个对象具有类似的功能,比方说饭馆、汽车厂等等
简单例子
//基类 线条class Line{ public string Name { get; set; }} //带箭头的线条 class ArrowLine:Line { public ArrowLine() { this.Name = "Arrow"; } }//带标签的线条 class LabelLine:Line{ public LabelLine() { this.Name = "Label"; }}//生成线条工厂 class LineFactory{ public static Line CreateLie(string name) { Line line=null; switch (name) { case "Arrow": line= new ArrowLine(); break; case "Label": line=new LabelLine(); break; } return line; }}//调用方式 static void Main(string[] args) { //只需要传递线条类型,由工厂决定如何生产 var line= LineFactory.CreateLie("Arrow"); Console.WriteLine(line.Name); Console.ReadKey(); }
每次增加新一类操作都需要在工程中提供方法。
要点
switch 和if-else的优雅一点的实现方式。当然如果不介意大量使用switch和if-else可以不用设计模式。
阅读全文
0 0
- 2.简单工厂模式
- 2.简单工厂模式
- 2.简单工厂模式
- 2.简单工厂
- 2.php简单工厂模式
- 简单工厂,工厂,抽象工厂
- 简单工厂、工厂、抽象工厂
- 简单工厂、工厂、抽象工厂
- 工厂模式-简单工厂
- 简单工厂 静态工厂
- 工厂模式-简单工厂
- 工厂 > 简单工厂
- 简单工厂,工厂方法
- 2.工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)(设计模式笔记)
- 简单工厂
- 简单工厂
- 简单工厂
- 简单工厂
- JS截取字符串数据
- 使用gulp+browser-sync搭建Sass自动化编译以及自动刷新
- 欢迎使用CSDN-markdown编辑器
- CStatic控件的Notify属性
- maven的jstl-api的jar包与Tomcat的jar包依赖冲突
- 2.简单工厂
- Hi3536 Mount NFS root filesystem tips
- 将数据转成JSON
- oracle常用命令--更新/修改表数据之alter命令
- u-boot分析之Makefile
- PAT_1063. Set Similarity(1个case超时)
- validateform在提交form表单时,手动触发validateform校验
- spring cloud eureka
- STL algorithm -2