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”或任何适合您的子文件夹。

您还可以为三层创建单独的项目。

例子:

在此处输入图像描述

这里 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 回答