我想创建一个具有 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”或任何适合您的子文件夹。
您还可以为三层创建单独的项目。
例子:
这里 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 项目。它有这些项目: