看過三國志的朋友都知道一句名言:萬事具備,只欠東風(fēng).
最近在學(xué)習(xí)SPRING框架的時候?qū)Υ擞钟辛松顚拥睦斫?
最近開發(fā)一個幾百人的大項目,由于某些因素,不能使用開源框架.我們開發(fā)人員商議,準(zhǔn)備順應(yīng)潮流,使用SPRING框架的某些設(shè)計思想來完成工作.
由于大家都沒有幾百人一起工作的項目經(jīng)驗,所以開始階段是痛苦而沒有成效的.特別在商議相互調(diào)用的接口時,簡直成了討價還價的菜市場(每個人的想法,水平,及設(shè)計能力的差異).~_~!!!
百無聊賴中,跑去開三國(你們吵你們的吧,我休息先),看到諸葛亮借東風(fēng)一節(jié),突然靈機(jī)一動,這不就是SPRING框架的IOC思想么??我先萬事具備再說,只欠東風(fēng)就OK!想到這里,心中竊喜,于是將需要的接口數(shù)據(jù)整理出來寫了個XML文檔,并用DTD定義,直接扔給調(diào)用我的家伙,想用我的接口么??我就要這些數(shù)據(jù),你看著辦吧~~!
于是不管他渴求的表情,自己工作去也.那個心里爽啊~
下面是一些模擬代碼,希望能有用:
/*定義依賴注入的數(shù)據(jù)接口*/
public interface IOCINTERFACE
{
???//只定義一個驗證方法,驗證DTD定義的數(shù)據(jù)
???public boolean validate();
}
////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
/**/
class IOCObject implement IOCINTERFACE
{
???//需要注入的數(shù)據(jù)
???private String username;
???public void setUsername(String username)
???{
??????this.username = username;
???}
???public String getUsername()
???{
??????return this.username?;
???}
???//驗證一下是否是我要的數(shù)據(jù)
???public boolean validate()
???{
??????if(this.username = null)
??????{
?????????return false;
??????}
??????return true;
???}
}
////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
/*再定義一個執(zhí)行接口*/
public interface OPERATION
{
???public void execute();
}
////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
class Test implement OPERATION
{
???//定義操作對象
???private IOCObject obj;
???public void Test( IOCObject obj)
???{
??????this.obj = obj;
???}
???public void execute()
???{
??????if(this.obj.validate)
??????{
?????????//處理業(yè)務(wù)邏輯
?????????System.out.println(this.obj.getUsername+"hello!");
??????}
??????else
??????{
?????????//異常日志
????????????System.out.println("MB~~~給的什么數(shù)據(jù)啊~~我叼!")
??????}
???}
}
////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
/*萬事具備了,借東風(fēng)吧!*/
public class Main
{
???public static void main(String[]args)
???{
??????//做個東風(fēng)先
??????IOCObject?obj = new IOCObject?();
??????obj?.setUsername("KenIT");
??????//依賴注入了,高興啊!
??????Test?test = new Test(ob);
??????//完成工作,打完收功
??????test.execute();
???}
}
////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
回想來發(fā)現(xiàn)IOC就是我們的諸葛老前輩發(fā)明的,居然.....,我強(qiáng)烈呼吁收版權(quán)稅.
中華民族萬歲~~~!