2012-12-11 25 views
0

我們有一個由外部框架調用的代碼,ARDEN。如果沒有評論(容易被忽略),我怎樣纔能有效地通知這個框架的開發者?具體而言,將CLASS,NAMESPACE和METHOD耦合到所述框架。如何通知開發人員外部框架約束?

namespace MyCompany//changing namespace for this class is NOT SAFE 
{ 
public class MyClass//changing class name is NOT SAFE 
{ 
    [TiedToArdenAttribute]//maybe an attribute? 
    public void MethodCalledByArden() {}//adding params, changing name is NOT SAFE 

    public void NotCalledByArden() {}//changing this method signature, name, params is OK 
} 
} 

在正常情況下,例如,當我在通過視覺工作室我不能沒有引用固定編譯的組件改變MyClass名稱所述類。如果名稱空間,類名稱或方法名稱發生更改...應該有一個警告,提示「最佳修復Arden來處理此更改」。我考慮過一個錯誤,但是由於沒有辦法驗證Arden是否修復,我不相信這會起作用。

有沒有辦法爲這個外部框架實現類似的結果?

+0

除了註釋之外,還有三種可能性:實現façade模式,讓類實現一個接口(ICallableByArden?),或者將測試用例添加到項目中。 –

回答

3

我認爲無論你做什麼都可以被其他開發者撤銷 - 他們可以重命名類,刪除註釋,刪除屬性。

嘗試將此類移到單獨的庫中。並在您的項目中添加對編譯程序集的引用。這將使您的項目中的類名固定。

0

如果其他人正在使用代碼,最好是通過接口談合同而不是類實例。通過允許消費者使用接口將決定諸如屬性更改等主要變化......但諸如內部類名稱變化之類的事情不會影響消費者。另外,您可以在創建新類時對版本進行版本化,但老版本仍然可以由消費者使用,直到工廠內部發布它,而消費者不知道該類的V2正在被使用。

相關問題