onion-architecture相关内容

将 ASP.NET 身份与核心域模型解耦 - 洋葱架构

我正在使用这个示例项目(https://github.com/imranbaloch/ASPNETIdentityWithOnion)作为在我的应用程序架构中,在这个示例中,核心完全从基础设施(包括身份框架)中解构出来. 在这个示例中,作者使用适配器模式来解耦核心身份类(IdentityUser、IdentityRole ...),并在核心层提供类似的类. 现在这个示例项目中的问题是域 ..

用于更新整个聚合的通用存储库

我正在使用存储库模式来提供对我的聚合的访问和保存. 问题在于更新由实体关系组成的聚合. 以Order和OrderItem的关系为例.聚合根是 Order,它管理自己的 OrderItem 集合.因此,OrderRepository 将负责更新整个聚合(不会有 OrderItemRepository). 使用 Entity Framework 6 处理数据持久性. 更新存储库 ..

在 ASP.NET 5 和 MVC 6 中将启动配置与 Web 项目分离的最佳方法

使用 MVC5,创建一个对所有层都有引用的引导程序项目非常容易,从而将 UI 层与对基础架构逻辑的引用解耦.该项目将包含启动配置逻辑,例如设置 IoC 容器. 这样做的方法是定义一个启动类: 公共类启动{公共静态无效开始(){//启动配置(IoC 等)放在这里}} 然后在AssemblyInfo.cs中添加一行: [程序集:PreApplicationStartMethod(typeo ..
发布时间:2022-01-13 12:52:22 C#/.NET

如何在 n 层架构中解决这个 NHibernate 查询?

我在尝试将 NHibernate 与我的服务层分离时遇到了障碍.我的架构如下所示: web -> services -> repositories -> nhibernate -> db 我希望能够从我的服务层和可能是我的 web 层生成 nhibernate 查询,而这些层不知道它们正在处理什么orm.目前,我的所有存储库都有一个 find 方法,它接受 IList标准.这允许我从架 ..
发布时间:2022-01-02 15:36:34 C#/.NET

在 EF7 中使用 dbset 和映射器有什么区别

我开始在 Onion Architecture 中使用 .net core 和 Entityframework 7 !我读了 这个教程,我认为它是学习以下主题的最佳案例.但是本教程的一部分在我的脑海中提出了一个大问题.就像您在此链接页面上看到的一样;在数据层,我们有一些类是我们的模型!! 公共类用户:BaseEntity{公共字符串用户名 { 获取;放;}公共字符串电子邮件{获取;放;}公共字符 ..

在 StartUp.cs 中引用 DbContext 弄乱了我在 .NET Core 应用程序中的架构

我正在尝试提出一个可以正常运行的项目结构,但一直遇到障碍.尤其是我无法弄清楚 EF 的 DbContext 应该去哪里的地方.我不希望我的 API 引用我的数据层.我唯一能想到的就是将 EntityFramework 安装到域层并将 DbContext 驻留在那里. TestProj.Data 类库 (.NET Core) 实体框架已安装.包含 UnitOfWork 类、包含进行数据库调用 ..

在分层项目中放置依赖注入相关代码的最佳层

我计划在我的新应用程序中遵循洋葱架构. 解决方案层次如下 域 - 定义服务和存储库的所有接口. 基础设施 - 这是所有数据访问所在的层.这些类通常实现域中定义的接口. Web - 这是我的应用程序演示部分.在同一层内,我有一个单独的文件夹用于实现域中定义的服务. 我的计划是使用依赖注入进行依赖解析.最初,我想在基础设施中放置与 DI 相关的代码.但问题是在我映射服务时会导致循 ..

在洋葱型架构中,实体是否应该跨越外层?

我一直在尝试理解这种新的架构,其名称可以是洋葱架构、清洁架构、端口和适配器等. 如果我采用端口和适配器的抽象,当我为特定端口调整我的应用程序时,我可以从我的应用程序内部为端口提供一个实体吗?还是我总是应该调整实体以适应端口? 示例: 假设我有一个 Customer 实体.我有一个使用我的应用程序的 UI.我的 UI 通过适配器调用 getCustomerById(123).反过来 ..

洋葱结构与六边形结构的比较

它们之间有什么区别吗(洋葱 | 六边形),根据我的理解,它们是一样的,它们专注于作为应用程序核心的领域,应该与技术/框架无关. 如果有的话,它们之间有什么区别? 此外,我认为使用一个而不是另一个甚至对抗 N 层架构没有真正的优势,如果做得不好,仅仅遵循其中任何一个都不会有任何区别 使用其中一种的好处是什么,为什么要使用它?什么时候用? 谢谢 解决方案 如果有的话 ..

同一层中的洋葱架构依赖:基础设施和 Web 通信

我正在使用 洋葱架构设计一个 ASP.NET MVC 应用程序 由 Jeffrey Palermo 描述. 这是一个 ASP.NET MVC 2.0 项目,我要求所有视图都使用专用视图模型进行强类型化——我们不会将域模型传递给我们的视图.我们使用 AutoMapper 来做翻译——AutoMapper 在基础设施中是孤立的,Web 不知道也不关心 AutoMapper 正在被使用. 目 ..

洋葱架构中的典型层是什么?

我目前正在研究领域驱动设计,并尝试将其应用于 WPF 项目.我看了一些教程视频,并阅读了很多文章,例如: 同一层中的洋葱架构依赖项:基础设施和网络通信 http://eohmicrosoft.blogspot.fr/2012/08/laying-it-out-onion-architecture.html 域驱动设计:域服务、应用服务 我理解对接口和控制反转的关注.我读到有一些循环 ..
发布时间:2021-11-17 01:52:46 C#/.NET

为 NestJs REST API 创建 DTO、BO 和 DAO

我想开始使用 NestJs 创建 REST API,但我不确定如何设置可扩展的层通信对象. 所以从关于如何开始的文档中,我想出了一个UsersController处理HTTP请求和响应,UsersService处理控制器和数据库访问器之间的逻辑,UsersRepository负责数据库管理.> 我使用 NestJs 提供的 TypeORM 包,所以我的数据库模型是> @Entity('用 ..

在StartUp.cs中引用DbContext正在使.NET Core应用程序中的体系结构混乱

我正在尝试提出一个项目结构,该结构将正常运行,但会遇到很多障碍.特别是我无法弄清楚EF的DbContext应该去哪里.我不希望我的API引用我的数据层.我唯一想到的就是将EntityFramework安装到Domain层并在其中放置DbContext. TestProj.Data 类库(.NET Core) 实体框架已安装.包含UnitOfWork类,“存储库"文件夹以及所有进行数据库调用 ..

在分层项目中放置依赖注入相关代码的最佳层

我打算在新应用程序中采用洋葱体系结构. 解决方案层次结构如下 域-定义了服务和存储库的所有接口的地方. 基础结构-这是放置所有数据访问权限的层.这些类通常实现在域中定义的接口. Web-这是我的应用程序演示部分.在同一层内部,我有一个单独的文件夹,用于实现域中定义的服务. 我的计划是使用依赖性注入来解决依赖性.最初,我想到了将与DI相关的代码放置在Infrastructure ..

将ASP.NET身份与核心域模型分离-洋葱体系结构

我正在使用此示例项目( https://github.com/imranbaloch/ASPNETIdentityWithOnion )在我的应用程序体系结构中,在此示例中,核心完全脱离了包括身份框架在内的基础设施. 在此示例中,作者使用适配器模式解耦了核心标识类(IdentityUser,IdentityRole ...),并在Core层中提供了类似的类. 现在,此示例项目中的问题是 ..

通过洋葱架构实现基础架构的移动性-实际意义

Onion体系结构提供的主要优势之一是能够交换“基础结构"元素,例如“数据访问,I/O和Web服务"( Jeff在2008年的帖子中说:“该行业至少每三年就修改一次数据访问技术." 有没有人举一个使用洋葱架构并随后进行关键基础架构元素交换的大型项目的例子? 我有兴趣了解: 一般来说,这种情况有多普遍? 我的直觉告诉我,虽然“数据访问技术"可能每三年进行一次修改,但是对运行解 ..
发布时间:2020-07-02 01:48:27 其他开发

在分层项目中放置依赖注入相关代码的最佳层

我打算在新应用程序中采用洋葱体系结构. 解决方案层次结构如下 域-服务和存储库的所有接口 定义. 基础架构-这是所有数据访问位于其中的层 放置.这些类通常实现在中定义的接口 领域. Web-这是我在应用程序中的演示文稿部分.里面 我在同一层有单独的文件夹来实现 域中定义的服务. 我的平原是使用依赖性注入来解决依赖性.最初,我想到了将与DI相关的代码放入基础架构中.但是问题在于 ..

有限的上下文实现和设计

比方说,我有两个有界上下文,即 Shipping Context 和 Billing Context .这些上下文中的每一个都需要了解客户. 在数据级别,客户由数据库中的CustomerTbl表表示.该表包含描述客户的所有必要列. CustomerTbl中的列(简体): Name PhysicalAddress PaymentMethod 运输上下文与Name和Phys ..

洋葱结构与六角形相比

它们之间是否有任何区别(洋葱|六角形),根据我的理解,它们是相同的,它们专注于应用程序核心的领域,并且应与技术/框架无关. 如果有什么区别? 我也看不出使用一个相对于另一个甚至对N层体系结构都没有真正的优势,如果做得不好,仅仅遵循它们中的任何一个都不会有任何作用 使用一个与另一个相比有什么好处,为什么要使用它呢?何时使用? 谢谢 解决方案 它们之间有什么区别? ..