1.雷鋒及其繼承類
'雷鋒類
public class leifeng
public sub sweep()
console.writeline("掃地")
end sub
public sub wash()
console.writeline("洗衣")
end sub
public sub buyrice()
console.writeline("買公尺")
end sub
end class
'學雷鋒的大學生
public class undergraduate
inherits leifeng
end class
'志願者
public class volunteer
inherits leifeng
end class
2.相應的工廠類
'雷鋒工廠
public inte***ce ifactory
function createliefeng()
end inte***ce
'學雷鋒的大學生工廠
public class undergraduatefactory
implements ifactory
public function createliefeng() implements ifactory.createliefeng
return new undergraduate
end function
end class
『志願者工廠
public class voluntee***ctory
implements ifactory
public function createliefeng() as object implements ifactory.createliefeng
return new volunteer
end function
end class
3.客戶端
module module1
sub main()
dim myfactory as new undergraduatefactory
dim mystudent as leifeng = myfactory.createliefeng
mystudent.buyrice()
mystudent.wash()
mystudent.sweep()
console.read()
end sub
end module
簡單工廠模
簡單工廠模式優缺點 模式的核心是工廠類,這個類負責產品的建立,而客戶端可以免去產品建立的責任,這實現了責任的分割。但由於工廠類集中了所有產品建立邏輯的,如果不能正常工作的話會對系統造成很大的影響。如果增加新產品必須修改工廠角色的原始碼。以園丁種植水果為例討論該模式的具體實現 fruit 水果介面,規...
Abstract Factory抽象工廠模式
abstract factory抽象工廠模式 抽象工廠是一種建立型模式,是為了解決例項化時所帶來的問題。我們先來看看是什麼問題,有的時候我們會遇到這種情況,我們需要一系列的物件。舉個例子,有一系列bmw汽車零部件的物件 輪子bmwwheel,油箱bmwoilbox,在乙個管理函式中呼叫它們,如下 c...
Abstract Factory 抽象工廠模式
工廠模式中有 工廠方法 factory method 抽象工廠 abstract factory 這兩個模式沒有很明顯的區別,區別在於需要建立物件的複雜程度上。如果我們建立物件的方法變得複雜了,我們就可能要將上例中factory變成抽象類,將共同部分封裝在抽象類中,不同部分使用子類實現。下面關於是在...