我正在构建一个新应用程序,并且是域驱动设计的新手。我一直在阅读文档,并且设法对大部分域模型进行建模,但我想要一些关于两个查询的建议:
我有两个域对象通道和程序。我已经将它们建模为实体,因为它们都可以独立访问。一个频道可以有一个节目列表,所以我把它作为频道的一个属性。我的问题是我应该如何填充程序列表。ChannelService 中的 getChannerById 方法是否可以先获取频道信息,然后调用 ProgramService 获取频道的节目列表,例如:
Channel { String channelId List <Program> programList } Program { String programId { } ChannelService { Channel getChannelById(String channelId) } ProgramService { Program getProgramById(String programId) List <Program> getProgramsByChannelById(String channelId) }
我有一个产品域对象,但它的一些属性(例如规范和兼容性)涉及相当耗时的操作。这些属性并不是一直都需要的,因此可以将它们作为域对象的一部分并在需要时使用单独的服务方法填充这些属性,例如
Product { String productId Specification specification List <Product> compatibleProducts } ProductService { Product getProduct(String productId); void getProductSpecifications(Product product); void getCompatibleProducts(Product product); }
任何建议将不胜感激。