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;
...
}
...
}
単一アプリケーション ソリューションでは、通常、次のようなことを行います。
<Company name>.<Application name>.<Tier name>
スペースが含まれている場合や長すぎる場合は、名前の代わりに頭字語を使用することもできます。
各プロジェクト/アセンブリにこの命名規則を使用します。
私の通常現在の層/層は
DAL
- データ アクセス層 (EF など)
Business
- ビジネス ロジックとエンティティ
Facade
- アプリケーション ロジックを定義するプレゼンテーション層
UI
- 実際のユーザー インターフェイス
ティアとレイヤーは同じ意味で使用されることもありますが、微妙な違いがあります。層は物理的であり、層は論理的です。詳細: 「レイヤー」と「層」の違いは何ですか?
ネーミングに関しては、あなたが取り組んでいるプロジェクトの種類と、どのタイプのアーキテクチャを目指しているかによって異なります。
たとえば、Amber という Web プロジェクトがあります。次のプロジェクトがあります。