我是靠谱客的博主 想人陪身影,这篇文章主要介绍学习心得---简单工厂模式/静态工厂方法,现在分享给大家,希望可以做个参考。

Make大话设计模式早在几年前,就已经购买学习了,但至今未系统的整理过学习的心得。

作者原文以计算器为例,讲述了工厂模式。

简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。

自我理解应用场景,比如海尔集团,能够生产冰箱,洗衣机、空调等等,如果增加新的产品线则增加新的类,考虑到扩展性可以加入反射机制来动态创建产品;下面是简单实例,

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/// <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 "冰箱";         }     }

最终调用代码:

复制代码
1
2
3
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






最后

以上就是想人陪身影最近收集整理的关于学习心得---简单工厂模式/静态工厂方法的全部内容,更多相关学习心得---简单工厂模式/静态工厂方法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部