舉兩個例子以快速明白Java中的簡單工廠模式:女媧摶土造人話說:“天地開辟,未有人民,女媧摶土為人。”女媧需要用土造出一個個的人,但在女媧造出人之前,人的概念只存在于女媧的思想里面。女媧造人,這就是簡單工廠模式的應用。 首先,在這個造人的思想里面,有幾個重要的角色:女媧本身、抽象的人的概念和女媧所造出的一個個具體的人。 1.)女媧是一個工廠類,也就是簡單工廠模式的核心角色。
????????2.)具休的一個個的人,包括張三,李四等。這些人便是簡單工廠模式里面的具體產品角色 3.)抽象的人是最早只存在于女媧的頭腦里的一個想法,女媧按照這個想法造出的一個個具體的人,便都符合這個抽象的人的定義。換言之,這個抽象的想法規定了所有具體的人必須都有的接口(特征或者功能) 其UML類圖出下所示: 理解了上面的這些東西,再來理解下面的例子,對照理解,相信看完這篇文章,便對java簡單工廠模式有一個很好的理解:有一個農場公司,專門向市場銷售各類水果,在這個系統里需要描述下列水果: 葡萄 Grape 草莓 Stuawberry 蘋果 Apple水果與其他植物不同,最終可以采摘食用,那么一個自然的做法是建立一個各種水果都適用的接口,以便與其他農場里的植物區分開來,此時,則是為水果類聲明了一個接口,表現在代碼上:
(注:以上代碼在JDK5.0,Myeclise3.2下編譯通過)
?
?類比兩個例子,園丁就相當于女媧,而水果就相當于具體的人,接口水果類就相當于存在于類女媧思想里的人的抽象概念。由以上兩個例子可得出,簡單工廠模式需要由以下角色組成: 接口????????????????????????接口的實現類(簡單工廠模式里面的具體產品角色)????????????????????????工廠理解了以下兩個例子,再來看第三個例子:注意對比以下三個實例的不同實例1:
Powered by: BlogJava Copyright © freedoom