c# – 域模型中的域服务与实体方法
发布时间:2020-12-15 18:27:06 所属栏目:百科 来源:网络整理
导读:我知道域和应用程序服务之间的区别.但是无法真正看到域实体和域服务中方法之间的区别:/ 我有一个游戏,有状态,玩家等等.它还有AddPlayer,MoveLeft,Jump等方法.这些方法去哪儿了?我应该创建仅具有属性的裸KOGame,然后创建具有功能的KOGameServices吗? 鲍勃
我知道域和应用程序服务之间的区别.但是无法真正看到域实体和域服务中方法之间的区别:/
我有一个游戏,有状态,玩家等等.它还有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类? 编辑: 解决方法
如果要完成一个用例,您需要在域级别协调2个或更多聚合,将协调逻辑放在域服务中调用聚合方法.如果只需要一个聚合,则不涉及域服务.只需从app服务调用聚合方法即可.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |