java设计模式-简单工厂模式
Posted ghsy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java设计模式-简单工厂模式相关的知识,希望对你有一定的参考价值。
第一次好好的看设计模式,可能有不对的地方,大佬们可以下面指出,感谢!
----------- 分割线 ----------
电话父类,主要行为有打电话,上网,报告手机型号;
子类有一系列手机,分别实现接口Phone;
工厂类,主要是创造手机;
接下来是执行类去调用工厂类创建手机,执行手机行为操作;
控制台打印;
换一种手机:
需要什么手机就去工厂里面拿什么手机,工厂只负责创建手机职责,如果机型不够了,去创建Phone的子类就行,然后工厂里面添加子类类型即可,简单工厂模式实现。但是,这样是不是特别麻烦?每次多一个子类,是不是都需要去操作工厂里面的switch呢?有没有简单点的方法呢?答案是当然有啦,别忘了我们java中强大的反射机制!好了,下面对工厂进行改造:
然后执行类执行工厂:
这样子的话,要什么手机,我们把手机的类名传入工厂即可。但是这样子,如果有很多手机,这么多类名是不是也有点麻烦呢?可以把类名在包装一下?这时候新增一个枚举类去管理这些手机类型解决:
简单工厂差不多到这啦,摘自大话设计模式,以下是我个人理解:
以上是关于java设计模式-简单工厂模式的主要内容,如果未能解决你的问题,请参考以下文章