设计模式-工厂模式
2015-10-26 09:47
316 查看
1:简单工厂模式
客户端
d:查看效果
优点:符合开闭原则,不需要修改已有的业务即可添加新的国籍的人,有很好的灵活性
缺点:需要创建更多的类(这个算不算)
上述两种模式在实际应用中可以联合使用以下关于工厂模式的一些总结
关于两种工厂模式的总结
用途:
1:工厂方法模式是一种轻量级模式,它实现了与应用特定模型的独立。客户只基于接口编程而让模式来解决其他问题
2:工厂模式有一个特殊的优点就是它能够连接起平行的类层次。
使用场景:
1:灵活性很重要
2:对象可以通过子类进行扩展
3:客户程序把职责委托给平行层次的子类
//china IFactory factory=new ChinaFactory(); IPerson chinaPerson = factory.Create(); bool result = chinaPerson.Add(new Person { Id = Guid.NewGuid().ToString(), UserName = "zs", RealName = "张三", Nationality = Nationality.China, AddDate = DateTime.Now }); if (result) { Console.WriteLine("中国 添加成功"); } //japan IFactory factory1 = new ChinaFactory(); IPerson japanPerson = factory.Create(); bool result1 = japanPerson.Add(new Person { Id = Guid.NewGuid().ToString(), UserName = "ls", RealName = "李四", Nationality = Nationality.America, AddDate = DateTime.Now }); if (result1) { Console.WriteLine("日本 添加成功"); }
客户端
d:查看效果
优点:符合开闭原则,不需要修改已有的业务即可添加新的国籍的人,有很好的灵活性
缺点:需要创建更多的类(这个算不算)
上述两种模式在实际应用中可以联合使用以下关于工厂模式的一些总结
关于两种工厂模式的总结
用途:
1:工厂方法模式是一种轻量级模式,它实现了与应用特定模型的独立。客户只基于接口编程而让模式来解决其他问题
2:工厂模式有一个特殊的优点就是它能够连接起平行的类层次。
使用场景:
1:灵活性很重要
2:对象可以通过子类进行扩展
3:客户程序把职责委托给平行层次的子类
相关文章推荐
- ios 网络字节顺序的转换HTOS
- 九度OJ 1167:数组排序 (排序)
- 苏州Oracle社招面经
- eclipse 异常 Subversion Native Library Not Available解决方案
- 二进制转换为十进制
- 花生采摘
- JSP取得绝对路径
- python中文显示报错
- 手机开发web?native?hybrid?
- NGINX引入线程池 性能提升9倍
- LeetCode OJ:Construct Binary Tree from Inorder and Postorder Traversal(从中序以及后序遍历结果中构造二叉树)
- 疯狂Html+CSS+JS 中CSS总结
- JAVA 获取http返回XML的数据
- 遍历Map的四种方法
- 关系型数据库如何处理“库存”问题
- android 用 XML 自定义边框(只上下边框有色)
- ECC与数论、数论史、代数,二次剩余符号的程序计算,高次剩余,高斯和 2013-03-23 21:52:49
- 九度OJ 1166:迭代求立方根 (迭代)
- MAC上Lua开发环境搭建
- 实现自适应高度的 UITableViewCell 或 UILabel