c# – 域模型中的域服务与实体方法

c# – 域模型中的域服务与实体方法,第1张

概述我知道域和应用程序服务之间的区别.但是无法真正看到域实体和域服务中方法之间的区别:/ 我有一个游戏,有状态,玩家等等.它还有AddPlayer,MoveLeft,Jump等方法.这些方法去哪儿了?我应该创建仅具有属性的裸KOGame,然后创建具有功能的KOGameServices吗? 鲍勃叔叔在他的文章here中写道:“一个实体可以是一个带有方法的对象,或者它可以是一组数据结构和功能.” 我甚至不 我知道域和应用程序服务之间的区别.但是无法真正看到域实体和域服务中方法之间的区别:/

我有一个游戏,有状态,玩家等等.它还有Addplayer,Moveleft,Jump等方法.这些方法去哪儿了?我应该创建仅具有属性的裸KOGame,然后创建具有功能的KOGameServices吗?

鲍勃叔叔在他的文章here中写道:“一个实体可以是一个带有方法的对象,或者它可以是一组数据结构和功能.”

我甚至不想提及像Move或Jump这样的方法也必须在App Services中,在KOGameAPI中 – 因为UI需要这些方法(当然是通过接口).

这是我的班级:

public class KOGame{    public GameState State { get; set; }    public IList<Player> Players { get; set; }    public int PlayersCount;    public KOGame()    {        State = GameState.New;        PlayersCount = 2;        Players = new List<Player>();    }    public voID Addplayer(Player player)    {    }    public bool MoveRight(int ID)    {        return false;    }    public bool Moveleft(int ID)    {        return false;    }    public bool Jump(int ID)    {        return false;    }}

那么,结束我的问题:域服务有哪些方法,域实体有哪些方法?有了Class1类,我什么时候应该创建Class1Services类?

编辑:
只是快速解释为什么我选择DDD:
我想创建跨平台应用程序,我希望每个平台都有单层通用.我选择C#,在Xamarin的帮助下,我可以轻松地为每个平台实现单域模型甚至服务.我只是决定在服务中应该采用哪些方法以及在域模型中作为实体的一部分

解决方法 如果要完成一个用例,您需要在域级别协调2个或更多聚合,将协调逻辑放在域服务中调用聚合方法.如果只需要一个聚合,则不涉及域服务.只需从app服务调用聚合方法即可. 总结

以上是内存溢出为你收集整理的c# – 域模型中的域服务与实体方法全部内容,希望文章能够帮你解决c# – 域模型中的域服务与实体方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存