论坛首页 Java企业应用论坛

问题是什么是工厂模式还是我需要一个某接口的对象。

浏览 4487 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-02-11  

好多人都在探讨什么是工厂模式。有些人对工厂模式有了自己的见解,有的人还举了例子,画了图试图告诉我们什么是工厂模式。但是实际的问题应该只是我需要一个某个接口的对象,需要怎么做这个问题才对吧?
顺着我需要一个对象这个问题展开一下思考,你在java里面写代码只有下面的这几种写法



    1. 我需要的对象很有规律,我可以提炼出来,传入参数,得到我想要的对象。这就是所谓的简单工厂
    2. 这个对象没有什么规律,我想把这个对象的生成方法抽象出来,在java里面就两种写法
  • 1 通过一个类的方法得到这个对象,父类只提供生成对象的接口,子类具体实现生成方式,这就是工厂方法模式,典型的用继承处理变化
  • 2 通过一个类的属性得到这个对象,属性这东西本来就可以变的,外面想怎么set都行,是这个接口对象就好(只提要求,不做选择,你给的东西满足我的要求我就用,这就是依赖反转),通过属性提取变化的方式就用组合而不用继承,如果继承这个类,用这个类的子类重写这个类的方法,实现不一样的功能,就变成桥接了(通过组合和继承两种方案组合处理变化)。

应该关注的是某种模式解决的是哪个方面的典型问题,而不是什么是什么设计模式,设计模式这种东西才有实际的用途,才能真正的被理解。

感觉23设计模式仅仅只能起到定义一下设计领域的术语,大家好交流的作用,起不到什么学习作用。

header first 这种书还是少看,免得被带进沟里,还是写代码的时候多想想靠谱。

















 

   发表时间:2015-02-12  
你说的很对,但这毫无意义
0 请登录后投票
   发表时间:2015-02-12  
还是挺有道理的,20+的设计模式,绝大多数都是java继承和组成的变种
0 请登录后投票
   发表时间:2015-02-13  
“header first 这种书还是少看,免得被带进沟里”,呵呵,敢问大侠技术多高。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics