005Visual Basic工廠模式

2021-10-06 11:41:23 字數 1548 閱讀 3660

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變成抽象類,將共同部分封裝在抽象類中,不同部分使用子類實現。下面關於是在...