我的业务逻辑可以位于业务逻辑/服务层中,也可以添加到利用部分类功能的扩展域类(EF T4 生成的 POCO)的新成员中。
所以我可以:
a) bool OrderBusiness.OrderCanBeCancelledOnline(Order order)
..或(订单订单)
或者
b) bool order.CanBeCancelledOnline()
..即订单本身知道是否可以取消。
对我来说,选项 b) 更面向对象。然而,选项 a) 允许应用更复杂的逻辑,例如使用其他域对象或服务。
目前我两者兼而有之,这似乎并不优雅。
对此的任何指导将不胜感激!