舉個例子:共享域邏輯?
CreateOrderTicket(ByVal items As List(Of OrderItems)) As String
你會在哪裏把這種邏輯給出:
CreateOrder should generate a simple list (i.e. Item Name - Item Price)
PizzaOrderItem
SaladBarOrderItem
BarOrderItem
你會推薦: 重構共同的抽象類/接口與共享屬性的方法稱爲CreateOrderTicket
或
創建公開的公共服務一個CreateOrderTicket
我們顯然不會要三種createOrderTicket方法,但添加方法,繼承,重載和使用泛型似乎是一個成本高,只是抽象的行爲..
承擔一個簡單的例子的目的是(目前)沒有OrderItem基類或界面..
幫助!! :)
p.s.有沒有辦法重載而不強制所有的繼承對象使用相同的名稱?
是的,這是我的第一個想法,但我傾向於迴避基類,更傾向於接口。但是爲了擁有一個共享功能,沒有其他方法可以做到這一點,我可以看到。 接口..在多個位置實現它 BaseClass ..重載或包裝受保護的屬性(用於不同的名稱) 「邏輯服務」...仍然需要了解參數是什麼進來的,所以仍然需要抽象接口或BaseClass。 希望其他人有辦法決定何時一種方法是最好的,何時可以有一個基類(因爲你只能有一個。) – 5x1llz 2009-04-29 17:28:32