0

外部フレームワークARDENによって呼び出されるコードがあります。コメント (見過ごされやすい) を除いて、このフレームワークとの結びつきを効果的に開発者に通知するにはどうすればよいでしょうか? 具体的には、クラス、ネームスペース、およびメソッドを上記のフレームワークに結合します。

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 が修正されていることを確認する方法がないため、うまくいくとは思えません。

この外部フレームワークで同様の結果を達成する方法はありますか?

4

2 に答える 2

3

他の開発者は、クラスの名前を変更したり、コメントを削除したり、属性を削除したりできます。

代わりに、このクラスを別のライブラリに移動してみてください。そして、プロジェクトにコンパイル済みアセンブリへの参照を追加します。これにより、プロジェクトでクラス名が固定されます。

于 2012-12-11T17:28:30.233 に答える
0

他の人がコードを使用している場合は、インターフェイスを介したクラス インスタンスではなく、コントラクトの観点から話すのが最善です。コンシューマーがインターフェイスを使用できるようにすることで、プロパティの変更などの主要な変更が指示されますが、内部クラス名の変更などはコンシューマーには影響しません。さらに、クラスのバージョンを変更できます。新しいクラスで作業しているときに、クラスの V2 が使用されていることをコンシューマーが認識しなくても、ファクトリが内部的にリリースするまで、コンシューマーは古いクラスを引き続き使用できます。

于 2012-12-11T17:45:07.017 に答える