学习心得---简单工厂模式/静态工厂方法
来源:互联网 发布:新奥集团怎么样知乎 编辑:程序博客网 时间:2024/05/18 21:42
Make大话设计模式早在几年前,就已经购买学习了,但至今未系统的整理过学习的心得。
作者原文以计算器为例,讲述了工厂模式。
简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。
自我理解应用场景,比如海尔集团,能够生产冰箱,洗衣机、空调等等,如果增加新的产品线则增加新的类,考虑到扩展性可以加入反射机制来动态创建产品;下面是简单实例,
/// <summary> /// 工厂 /// </summary> public class Factory { /// <summary> /// 生产产品 /// </summary> /// <param name="product"></param> /// <returns></returns> public static IFactory Make(string productName) { IFactory product = null; switch (productName) { case "手机": FactoryPhone phone = new FactoryPhone(); break; case "冰箱": FactoryFridge fridge = new FactoryFridge(); break; } return product; } } /// <summary> /// 工厂接口 /// </summary> public interface IFactory { /// <summary> /// 制造 /// </summary> /// <returns></returns> string Make(); } /// <summary> /// 手机工厂 /// </summary> public class FactoryPhone : IFactory { /// <summary> /// 制造 /// </summary> /// <returns></returns> public string Make() { return "手机"; } } /// <summary> /// 冰箱工厂 /// </summary> public class FactoryFridge : IFactory { /// <summary> /// 制造 /// </summary> /// <returns></returns> public string Make() { return "冰箱"; } }
最终调用代码:
IFactory factory; factory = Make("手机"); string product = factory.Make();
总结,简单点说个人理解静态工厂模式,其实就是适用于业务比较固定的项,理论上延续刚才的海尔工厂来说,我现在要生产笔记本,那么我实际上就需要新建一个笔记本工厂,而我们的程序则需要增加笔记本工厂类;那么在Factory的Make中就需要重复生产手机和生产冰箱的类似代码;这里我们可以更改为反射实例化对应类和调用对应方法;从而能解决新增业务,只需要新增相应的DLL即可;设计模式只是一种方法,最好大家能结合实际写出更优美的代码;
我只是一个不断学习的小白而已,大家最好学习的时候多看不同的人写的设计模式,已增加理解很可能一个人写的,自己理解有偏差;
简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。白话点说,一个类里面有一个静态的方法给个参数返回一个实例,该方法内部根据参数实例化对应实例;
大话设计模式作者原文:http://www.cnblogs.com/cj723/archive/2006/09/23/512430.html
0 0
- 学习心得---简单工厂模式/静态工厂方法
- [设计模式](二):工厂模式(简单工厂|静态工程、工厂方法|多工厂、抽象工厂)
- java中简单工厂模式(静态工厂方法模式)
- JAVA之工厂模式(静态工厂模式(简单工厂模式)、工厂方法模式、抽象工厂模式)
- 接口和简单静态工厂方法模式
- 静态工厂方法模式
- 静态方法工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 静态工厂模式(简单工厂模式)
- 简单工厂模式(静态工厂模式)
- 设计模式学习003——工厂模式(工厂方法、抽象工厂),简单工厂【也叫静态工厂】
- java va中工厂模式( 静态工厂模式、工厂方法模式、抽象工厂模式)的介绍以及简单例子
- 设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
- java工厂模式-简单工厂,工厂方法,抽象工厂模式
- 静态工厂(简单工厂)模式
- Objective-c 语法-大概的介绍
- 高通平台 lcd driver 调试小结
- 关于螺旋矩阵
- JavaScript声明全局变量三种方式的异同
- 鬼哥CSDN下载
- 学习心得---简单工厂模式/静态工厂方法
- java反射(1)
- java Socket简单用法 && Android使用socket使底层和framework通信
- 图像匹配之最小均方误差匹配
- HTML解析器--jsoup
- 在发送ajax请求时加时间戳或者随机数去除js缓存
- 改动了一下的堆排序
- JavaScript(3)函数、错误、表单验证
- 人体时钟hone hone clock