光輝歲月

导航

 

  第一次好好的看设计模式,可能有不对的地方,大佬们可以下面指出,感谢!

  ----------- 分割线 ----------

  

电话父类,主要行为有打电话,上网,报告手机型号;

子类有一系列手机,分别实现接口Phone;

工厂类,主要是创造手机;

接下来是执行类去调用工厂类创建手机,执行手机行为操作;

控制台打印;

换一种手机:

需要什么手机就去工厂里面拿什么手机,工厂只负责创建手机职责,如果机型不够了,去创建Phone的子类就行,然后工厂里面添加子类类型即可,简单工厂模式实现。但是,这样是不是特别麻烦?每次多一个子类,是不是都需要去操作工厂里面的switch呢?有没有简单点的方法呢?答案是当然有啦,别忘了我们java中强大的反射机制!好了,下面对工厂进行改造:

然后执行类执行工厂:

这样子的话,要什么手机,我们把手机的类名传入工厂即可。但是这样子,如果有很多手机,这么多类名是不是也有点麻烦呢?可以把类名在包装一下?这时候新增一个枚举类去管理这些手机类型解决:

简单工厂差不多到这啦,摘自大话设计模式,以下是我个人理解:

 

posted on 2019-06-18 11:27  光輝歲月  阅读(225)  评论(2编辑  收藏  举报