我很难为我的应用程序的业务对象建模。
在我的领域里,我基本上有一个订单清单,对于每一个账单,我有一个托盘,其中包含满足订单的材料。票据是一个复杂的对象,它包含多个属性和一个订单列表,这些顺序反过来又是复杂的对象。托盘对象同样是复杂的,它包含多个属性、堆栈列表和包含堆栈的分布列表;这个列表也包含复杂的对象。
该软件结构为3层应用程序(数据访问层、业务逻辑层和表示层);表示层遵循MVVM模式,而在DAL层中,我对每个数据模型实体使用一个Repository类。

我的问题是如何定义业务对象。例如,在一个视图中,我必须显示包含详细信息的所有票据列表,指定相关托盘的状态,因此我的类可能是:

相反,在另一种观点中,我必须显示正在处理中的托盘数据和相关票据的一些数据,因此在类中,票据和托盘之间关系的方向应该是相反的:

那么,我应该如何设计我的课程呢?以下是我的一些看法:

发布于 2020-08-25 14:08:22
如何为业务层建模域类是编写完整书籍的一个主题。这将是过于宽泛的回答,以一般的方式,但这里有几个意见,应该有助于你避免一些常见的陷阱:
PalletReportory by id,你需要账单吗?通过BillRepository id问一下。你需要账单上的托盘吗?通过PalletRepository bill_id问一下。https://softwareengineering.stackexchange.com/questions/415180
复制相似问题