mvc框架java包怎么划分_java – 在MVC模式中将模型和动作划分为类...

原则上,例如domain model,模型层,例如“模型”,应分为以下几个部分:

> Entities,例如域对象(如您的员工)和value objects.每个实体不仅包含特定数据,而且最重要的是包含与其相关的必需行为(仅限).

> Data mappers抽象(如EmployeeMapperInterface).它们的实现(如EmployeeMapper)不应该是域层的一部分.数据映射器是负责实体和数据库(或任何其他持久层)之间的数据传输的对象.因此,他们是唯一知道如何通过其API与数据库通信的组件.例如.它们包含SQL语句/调用.这些语句不应该是实体的任何部分,因为多个应用程序可以使用相同的实体,并且并非所有应用程序都需要数据库访问,或者与另一个应用程序需要相同的数据库访问.实体根本不应该知道任何持久性.

>作为可选的抽象层:repository抽象(如EmployeeRepositoryInterface,或EmployeeCollectionInterface或EmployeesInterface).它们的实现(如EmployeeRepository,EmployeeCollection或Employees)也不应驻留在域层中,而应位于其边界之外.它们是具有从模型组件隐藏持久性类型的角色的构造,并具有两个功能/特征:1)它们将实体从域模型转移到数据映射器,以便更新db数据和2)它们存储使用相应的数据映射器从db“获取”的实体集合,使其可用于域层.

>服务,作为service layer的一部分(如AuthorizationService).可以有应用程序服务,如果需要,还可以使用域服务(前者使用).这些服务处理所有其他域层组件,以便正确响应用户要求.从用户的角度来看,它们是域模型的唯一门户.

>外部服务的抽象(如MailServiceInterface,或PaymentServiceInterface,或PrintingServiceInterface).它们的实现(如ExampleMailer,或PayPalPayment或PdfPrinter)位于域模型之外.

资源:


版权声明:本文为weixin_42250528原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。