一直未对工厂设计模式没用把握到其精髓!
本来打算看下spring源码来品读下,可惜时间被生活和工作抢走了,尤其是最近世界杯-我的最爱,足球啊!
今天看了两篇有关博客,再加上以前的了解,反思下工厂设计模式的自己的理解!
凡事都有个先入为主,估计是以前看书,关于工厂设计模式都关于简单,总觉得延迟创建对象到子类,而就那么一个短短的new关键字,居然要放到子类,真的有种大材小用,小题大做的感觉,也觉得没用必要!
而且从那个类图上看,丝毫感觉不到其中妙处!
直到有一天,发现如果创建一个对象,或者创建一个对象的逻辑,真的就是new的话,工厂设计模式真的没用什么用处,通常让一个类来承担一份责任,那么它的责任就是适中的,也就是说,我们有必要独立创建对象逻辑到单个类中!看看spring吧,其创建逻辑是很复杂的!
工厂设计模式通常会结合模板设计模式,或者是模板设计模式的特例版本!因为工厂设计模式此时体现了它的价值!
不用关心对象的创建,让对象创建延迟到子类中!
没用实践,没用用武之地,往往会把伟大和平庸混为一谈!