我想创建一个包含3层(或层级的多层项目?有什么区别?)
现在,我该如何命名每一层(层)?
我在维基百科上看到了这个描述:
但我不能简单地将我的图层命名为“表示层”,“逻辑层”和“数据层”,可以吗?
在命名空间中这不合适。
任何关于命名的想法?
答案 0 :(得分: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;
...
}
...
}
答案 1 :(得分:2)
在单一应用程序解决方案中,我通常会执行以下操作:
<Company name>.<Application name>.<Tier name>
如果它包含空格或者它太长,你也可以使用首字母缩略词而不是名字。
我为每个项目/程序集使用此命名约定。
我通常目前的等级/图层是
DAL
- 我的数据访问层(例如EF)
Business
- 我的业务逻辑和实体
Facade
- 我的表示层,我在其中定义了应用程序逻辑
UI
- 实际的用户界面
答案 2 :(得分:2)
层和层有时可以互换使用,但有一个微妙的区别。层是物理的,层是合乎逻辑的。更多:What's the difference between "Layers" and "Tiers"?
至于命名,取决于您正在进行的项目类型,以及您要使用的体系结构类型。
例如,我有一个名为Amber的网络项目。它有这些项目: