3

3 つの層 (または層? 違いは?) を持つ多層プロジェクトを作成したい

では、各レイヤー (層) にどのように名前を付ける必要がありますか?

ウィキペディアでこの説明を見ました:

ウィキペディア 3 層アーキテクチャ

しかし、層を単純に「プレゼンテーション層」、「ロジック層」、「データ層」と名付けることはできませんか?

それは名前空間では適切ではありません。

ネーミングのアイデアは?

4

3 に答える 3

3

次のように名前空間に名前を付けることができます。

MeOrMyCompany.TheApplication.Data
MeOrMyCompany.TheApplication.Logic
MeOrMyCompany.TheApplication.Presentation

次のようなサブ名前空間を追加する必要がある場合があります

MeOrMyCompany.TheApplication.Presentation.Main
MeOrMyCompany.TheApplication.Presentation.Dialogs
MeOrMyCompany.TheApplication.Presentation.Controls
...

それはあなた次第です。

プロジェクトにフォルダーを作成すると、フォルダー名が名前空間に自動的に追加されることに注意してください。したがって、「MeOrMyCompany.TheApplication」というプロジェクトがある場合、「Data」、「Logic」、および「Presentation」という名前のフォルダーを追加できます。「Presentation」内に、「Main」、「Dialogs」、「Controls」など、適切と思われる名前のサブフォルダーを追加します。

3 つの層に個別のプロジェクトを作成することもできます。

例:

ここに画像の説明を入力

ここで、SVG フォルダー内のクラスは自動的に名前空間を持ちます

CySoft.SLVision.Diagrams.Shapes.Svg

namespace CySoft.SLVision.Diagrams.Shapes.Svg
{
    public class SvgLine : LineShape
    {
        private SvgShapeFactory _context;
        ...
    }

    ...
}
于 2012-10-01T19:42:38.930 に答える
2

単一アプリケーション ソリューションでは、通常、次のようなことを行います。

<Company name>.<Application name>.<Tier name>

スペースが含まれている場合や長すぎる場合は、名前の代わりに頭字語を使用することもできます。

各プロジェクト/アセンブリにこの命名規則を使用します。

私の通常現在の層/層は

DAL- データ アクセス層 (EF など)

Business- ビジネス ロジックとエンティティ

Facade- アプリケーション ロジックを定義するプレゼンテーション層

UI- 実際のユーザー インターフェイス

于 2012-10-01T19:43:12.407 に答える
2

ティアとレイヤーは同じ意味で使用されることもありますが、微妙な違いがあります。層は物理的であり、層は論理的です。詳細: 「レイヤー」と「層」の違いは何ですか?

ネーミングに関しては、あなたが取り組んでいるプロジェクトの種類と、どのタイプのアーキテクチャを目指しているかによって異なります。

たとえば、Amber という Web プロジェクトがあります。次のプロジェクトがあります。

  • Amber.Logic (この場合、ロジックとデータは単一のプロジェクト/レイヤーに結合されました)
  • Amber.Tests (テスト)
  • Amber.Web (プレゼンテーション)
于 2012-10-01T19:45:57.860 に答える