博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
08-工厂方法
阅读量:6078 次
发布时间:2019-06-20

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

1. 简介

  工厂方法:符合依赖倒置原则、单一职责、开闭原则。

  与简单工厂的区别:简单工厂是在一个工厂里生成多个不同的类,而工厂方法是一个对象对应一个生成工厂,这些工厂都实现了一个共同的接口IFactory,很好的符合了依赖倒置原则、单一职责、开闭原则, 每个工厂只负责创建对象。

2. 核心代码

1   public interface IFactory2     {3         IPeople CreateInstance();4     }
1   public class ChineseFactory : IFactory2     {3         public IPeople CreateInstance()4         {5             return new Chinese();6         }7     }
1   public class JanpaneseFactory : IFactory2     {3         public IPeople CreateInstance()4         {5             return new Janpanese();6         }7     }
1  public class AmericaFactory : IFactory2     {3         public IPeople CreateInstance()4         {5             return new America();6         }7     }
1 static void Main(string[] args) 2         { 3             IFactory iFactory1 = new ChineseFactory(); 4             IFactory iFactory2 = new AmericaFactory(); 5             IFactory iFactory3 = new JanpaneseFactory(); 6  7             IPeople iPeople1 = iFactory1.CreateInstance(); 8             IPeople iPeople2 = iFactory2.CreateInstance(); 9             IPeople iPeople3 = iFactory3.CreateInstance();10 11 12             iPeople1.Eating();13             iPeople2.Eating();14             iPeople3.Eating();15 16             Console.ReadKey();17 18         }

 

转载于:https://www.cnblogs.com/yaopengfei/p/7138143.html

你可能感兴趣的文章
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>
扩展器必须,SAS 2.0未必(SAS挺进中端存储系统之三)
查看>>
Eclipse遇到Initializing Java Tooling解决办法
查看>>
while((ch = getchar()) != '\n')
查看>>
好程序员web前端分享JS检查浏览器类型和版本
查看>>
Oracle DG 逻辑Standby数据同步性能优化
查看>>
exchange 2010 队列删除
查看>>
「翻译」逐步替换Sass
查看>>
H5实现全屏与F11全屏
查看>>
处理excel表的列
查看>>
Excuse me?这个前端面试在搞事!
查看>>