0
我們的項目需要我們與Oracle DB,SalesForce等信息的多個源進行交互。因此,我們想要將所有調用包裝在WCF層下,以便公司內的任何人都可以使用它。爲了實現域對象,這是一個考慮因素:使用接口的WCF業務對象設計
public class NoteTypeA : INote, INoteTypeA {}
public class NoteTypeB : INote, INoteTypeB {}
public class Customer : INote, ICustomer {}
所有註釋類,如NoteTypeA,NoteTypeB,NoteTypeC都將從INote繼承,但他們也將從INoteTypeA繼承,在NoteTypeA的情況。
我同意使用INote的想法,因爲它可以幫助您實現多重繼承。但我沒有得到使用INoteTypeA的原因,它的外觀像anti-pattern對我來說。
你們認爲什麼? 這是否保護我免受未來的變化? 它是否幫助我平穩地增加了範圍更改?
謝謝。關於保護將來的變化,如果我編寫方法返回接口而不是具體的類。這真的會給我使用接口帶來什麼好處嗎? – sunny24365
@ sunny24365 - 如果你的WCF方法返回接口,它們會以'object'的形式出現,因爲一個接口不包含數據。這意味着客戶必須知道接口才能正確投射返回的數據。這很容易用共享程序集完成,但這可能是您不想做的事情,具體取決於您的業務需求。如果可能的話,我會建議不要返回接口,並返回具體的類型。 – Tim
@Tim - 如果是這樣的話,那麼我沒有看到爲什麼我甚至需要在上面的例子中創建INoteTypeA,INoteTypeB接口的原因。正確? – sunny24365