ソリューションの複数の部分からアクセスする必要がある共有構成があるプロジェクトで作業しています。
Config モジュールを担当するチームは、2 つのクラスだけで構成されるインターフェイスを実装しました。(プロパティを介して) 特定の値を取得、キャッシュ、および提供する 2 つのクラス。
これは悪い設計だと思います。私の意見では、この動作を実装する実際のクラスではなく、インターフェイスを介してアクセスできるすべての構成値を定義する方がよいでしょう。
私の意見では、構成値を取得するようなものについては、アクセスできる値を示すインターフェイスを提供する方が論理的ですが、クラス (たとえば、プロパティがインターフェイスによって制御されない実装) は提供しません。
-編集 - インターフェイスは次のようになります。
public interface IConfigurationResolver
{
GeneralConfiguration GetGeneralConfiguration(string Id);
SpecificConfiguration GetSpecificConfiguration(string Id);
}
1 つのクラスで実装されます。私が言いたかったのは、このインターフェイスは実際には、それぞれが構成値を提供する責任を持つ 2 つのクラスを定義しているだけであるということです。一方、インターフェイスがそのような詳細を気にせず、構成値自体を提供する必要がある場合は、より良いと思います。
これらは非常に経験豊富な開発者ですが、私はそうではありません。