1

アセンブリを整理して、記述したコードが意図した設計を反映するようにしたいと考えています。すでに受け取ったヘルプから、名前空間がこれを達成するために型を編成する主要な方法であることを理解しています。

私が抱えている問題はAssembly、たとえば、アセンブリが実装クラスのレイヤーを使用していることです。ただし、一部のクラスLayer1はそれ自体が の実装の一部であり、それLayer1をコードの構造に反映させたいと考えています。私の最初の考えは、いくつかのクラスを非公開にしようとすることでしたが、これは不可能Layer1であることがわかりました.

論理的には、クラス、などLayer1を公開しています。そして、クラス、などを使用しています。A1B1C1A2B2C2

namespace Assembly.Layer1
{
    // "interface to Layer1"
    class A1 // ...
    class B1 // ...
    class C1 // ...
    // "implementation of Layer1"
    class A2 // ...
    class B2 // ...
    class C2 // ...
} // (one file per class)

これに対処する 1 つの方法はA2B2C2などを新しい名前空間 に配置することのようAssembly.Layer1.Layer2です。次に、最上位の名前空間でコードを記述して を使用すると、インテリセンスは公開Assembly.Layer1するクラスのみを表示します。Assembly.Layer1また、慣例により、名前空間階層内で一度に 1 つのレイヤーだけを参照する必要があります。これは正しいアプローチですか?

4

0 に答える 0