Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET样板文件域层似乎包含非域类_C#_Design Patterns_Domain Driven Design_Aspnetboilerplate - Fatal编程技术网

C# ASP.NET样板文件域层似乎包含非域类

C# ASP.NET样板文件域层似乎包含非域类,c#,design-patterns,domain-driven-design,aspnetboilerplate,C#,Design Patterns,Domain Driven Design,Aspnetboilerplate,我最近对ASP.Net样板文件()做了一些分析。我注意到域层(MyProject.Core)有以下文件夹(默认情况下创建): 为什么要将所有这些放在应用程序的域层中?从我所能看到的;我相信大部分代码都应该在应用程序层(也可以是服务层)中找到。您所看到的,它旨在实现ASP.NET样板文件框架的所有基本概念,如租户管理(多租户)、角色管理、用户管理、会话、授权(权限管理),设置管理、语言管理、审核日志等 模块Zero定义实体并实现域逻辑(域层),因为它是系统的配置上下文的一部分。您看到它的名称,它旨

我最近对ASP.Net样板文件()做了一些分析。我注意到域层(MyProject.Core)有以下文件夹(默认情况下创建):

为什么要将所有这些放在应用程序的域层中?从我所能看到的;我相信大部分代码都应该在应用程序层(也可以是服务层)中找到。

您所看到的,它旨在实现ASP.NET样板文件框架的所有基本概念,如租户管理(多租户)、角色管理、用户管理、会话、授权(权限管理),设置管理、语言管理、审核日志等

模块Zero定义实体并实现域逻辑(域层),因为它是系统的
配置上下文的一部分。

您看到它的名称,它旨在实现ASP.NET样板框架的所有基本概念,如租户管理(多租户)、角色管理、用户管理、,会话、授权(权限管理)、设置管理、语言管理、审核日志等


模块Zero定义实体并实现域逻辑(域层),因为它是系统的
配置上下文的一部分。

好问题,如果您只看文件夹名称的话。但是我想你还没有对文件夹中的源代码进行过太多的研究

首先,我不认为它是最好的解决方案体系结构。我们在不断地改进它,我们可能会有缺点。请注意,我们的方法是最佳实践和务实方法的结合。我将试着简单地解释一下

您正在谈论这个项目:那么,让我们调查一下文件夹:

本地化 它不包括任何本地化逻辑(它是在框架级别,在ABP中完成的。因此,它在基础架构层)。它只是定义本地化文本

虽然通常它可以很容易地移动到web层(在核心项目中没有直接的依赖关系),但我们将它放在核心层,因为我们认为在另一个应用程序中可能也需要它。假设您有一个Windows服务只引用了.Core项目,并且希望使用本地化文本,比如用用户自己的语言向用户发送电子邮件。请注意,Windows服务通常不应有对Web层的引用。因此,我们有一个务实的方法。我们可以将本地化添加到另一个dll项目中,但这会使解决方案更加复杂

授权 主要包括用户、角色。。实体、UserManager和RoleManager域类。与本地化类似,它不包括实际的授权逻辑。它还包括一些其他的课程,但它们赚不了多少钱。我们认为,如果我们有更多的应用程序层,把这些放在这里会对我们有所帮助。正如您所知,作为最佳实践,每个应用程序都可以有自己的应用程序层

证实 AppConfigurations用于在不同应用程序(Migrator和Web应用程序)之间共享“配置读取”代码。同样,这可能位于另一个“共享UTIL”库中。但我们希望保持解决方案结构的平衡,所以它反映了主要的层和结构,但对于中间级别的开发人员来说并不是那么复杂

版本 只包括EditionManager类,它是用于版本管理的域服务

特征 只包括FeatureValueStore,它是一个类似于存储库的适配器类。看它的代码,它已经是空的

多租户 包括租户实体和租户管理器类,它们已经是域层的一部分。同样,这里没有包括与基础设施相关的多租户功能(如数据过滤或确定当前租户)

。。。等等


所以,不要只看名字和有想法,请检查项目更深入。有些代码可以移动到上层或utils库,但我认为一般结构适合启动DDD架构的应用程序。

好问题,如果您只看文件夹名称的话。但是我想你还没有对文件夹中的源代码进行过太多的研究

首先,我不认为它是最好的解决方案体系结构。我们在不断地改进它,我们可能会有缺点。请注意,我们的方法是最佳实践和务实方法的结合。我将试着简单地解释一下

您正在谈论这个项目:那么,让我们调查一下文件夹:

本地化 它不包括任何本地化逻辑(它是在框架级别,在ABP中完成的。因此,它在基础架构层)。它只是定义本地化文本

虽然通常它可以很容易地移动到web层(在核心项目中没有直接的依赖关系),但我们将它放在核心层,因为我们认为在另一个应用程序中可能也需要它。假设您有一个Windows服务只引用了.Core项目,并且希望使用本地化文本,比如用用户自己的语言向用户发送电子邮件。请注意,Windows服务通常不应有对Web层的引用。因此,我们有一个务实的方法。我们可以将本地化添加到另一个dll项目中,但这会使解决方案更加复杂

授权 主要包括用户、角色。。实体、UserManager和RoleManager域类。与本地化类似,它不包括实际的授权逻辑。它还包括一些其他的课程,但它们赚不了多少钱。我们认为,如果我们有更多的应用程序层,把这些放在这里会对我们有所帮助。正如您所知,作为最佳实践,每个应用程序都可以有自己的应用程序层

证实 AppConfigurations用于在不同应用程序(Migrator和Web应用程序)之间共享“配置读取”代码。同样,这可能位于另一个“共享UTIL”库中。但我们希望保持解决方案结构的平衡,所以它反映了主要的层和结构,但对于中间级别的开发人员来说并不是那么复杂

版本 只有我
    Authorization
    Confirguration
    Editions
    Features
    Identity
    Localization
    MultiTenancy
    etc