首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >洋葱体系结构:核心与领域

洋葱体系结构:核心与领域
EN

Stack Overflow用户
提问于 2015-09-28 01:49:50
回答 2查看 6.2K关注 0票数 4

我研究洋葱建筑很久了,我分析了很少样本VS的解决方案,仍然无法理解CoreDomainOnion Architecture中的区别。

  • 中,解决方案核心(项目)位于域内(解决方案文件夹)。
  • 这里没有核心,只有域
  • 在Jeffrey的CodeCampServer示例应用程序中,内核中有域。所以,基本上看起来Core是由DomainServices组成的。
  • 这个xDriven项目中,Core分为Core.ApplicationCore.Domain

我完全糊涂了。您能解释一下,CoreDomain在这样的体系结构中有什么实际的区别吗?

举个例子,这节课。简单的棋盘游戏,就像tac脚趾。它绝对是无处不在的语言,所以我应该在域内的Entities文件夹中创建它吗?核心领域本身?

代码语言:javascript
复制
public class Game
{
    public GameState State { get; set; }
    public Board Board { get; set; }
    public IEnumerable<Player> Players { get; set; }

    public bool Move(int playerId, int field)
    {
        //Check if Player's move will finish game. If yes, return true
        return false;
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-28 05:09:16

在我看来,只要您遵循Onion Architecture的指导原则,项目的实际命名就不那么重要了。它更多的是关于如何构造你的项目,以便轻松地使用它,以及关于它的理由。

重要的是要有独立的对象模型在中心。你围绕这个模型构建你的应用程序。

我完全糊涂了。你能解释一下吗,在这样的体系结构中,核心和领域之间的实际区别是什么?

您可以将Core看作是应该独立的体系结构中心模型的每个方面的聚合。在那个洋葱建筑博文中有Application Core,它包含Domain ModelDomain ServicesApplication Services。这取决于您在Core中拥有的项目。在您的例子中,可能没有必要引入Application Services

因此,总括而言,构建您的解决方案对您和其他人来说是很容易的。让解决方案中的结构成为其他处理该项目的人的指南。我的意思是,如果某个人必须在项目中实现新特性,那么解决方案应该指导他把Domain Entities等放在哪里。我的最后一个想法是,比起构建(命名)项目,最重要的是要专注于坚持Onion Architecture作为在此描述的四个原则。

票数 7
EN

Stack Overflow用户

发布于 2015-09-28 10:01:52

加起来,雅卡迪乌斯K的观点,核心是一个过载的术语,在DDD语音核心域也可以使用相对于(支持/通用)子域。也就是说,您有一个或几个关键领域是您的核心业务和其他领域的附属,可以外包或购买作为现成的解决方案。

解决方案空间中的域和子域对应是有界上下文,可以在代码中将它们表示为命名空间。这可能是一些例子的作者所想到的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32814712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档