设计模式应用与发展之工厂模式 java篇 (二)

2014-11-24 11:24:36 · 作者: · 浏览: 8
模式开启了,在代码界,你也发现了“神器”。

你先把这个名单弄到了数据库里(表名famous_persons):

然后,你用这把“神器”大刀阔斧把臃肿的FamousPersons剁的稀烂。

再然后,你重造了一个轮子:

...

class FamousPersons {

privateConnection conn = null;

...

privateString findClass(String name) {

StringclassName = null;

Statementstmt = conn.createStatement();

ResultSetresult = stmt.executeQuery("SELECT * FROM famous_persons WHERE Name="+ name);

if(result.next()){

className= result.getString(2);

}

result.close();

stmt.close();

returnclassName;

}

publicPeople find(String name) {

Peoplepeople = null;

StringclassName = findClass(name);

if(className!= null) {

people= (People)Class.forName(className).newInstance();

}

returnpeople;

}

};

...

哇噢,酷!从此,你远离了FamousPersons;远离了那糟糕的日子。生活貌似从这一刻又重新燃起了希望……

嗯,出乎意料的,你又做梦了,在梦里,运维的暧昧眼神,让你想远离数据库……

5 蒸汽机时代
5.1 贪婪的欲望
终于,当我们的先祖们还沉浸在冷兵器时代,突如其来的炮火,把国门轰得稀烂;战火不断,黄金白银都顶不住火药的贪婪……

代码界里,你也终究没来得及亲自尝试远离数据库的喜悦,各种框架猝不及防的降临,他们管这叫自动注入。

5.2 神赐
好吧,时间线已经很接近现实,不过先祖们始终没有得到神赐,一切都靠自力更生。

代码界里不一样,我们有了很多框架(神器)。说起自动注入(spring便是如雷灌招风耳的大神器),听上去好像不是一回事,但其实现原理和应用机制,仍然是工厂模式。

当然,实现形式有了很大变化,从最简单的通过配置文件进行映射;到通过注解进行映射;再到通过规则进行映射(广告:预知详情,请关注后续分享)。

6 另一个梦想