Domain Model和应用服务层分开,应用层:定义软件可以完成的工作,并且指挥具有丰富含义的领域对象来解决问题,保持精练;不包括业务规则或知识,无业务情况的状态
领域层:负责表示业务概念、业务状态的信息和业务规则,是业务软件核心。
说白了,就是动词和名词分开,名词用Model表达,动词用service或组件操作实现。
你的“问题处理”属于组件操作,在应用层,它指挥Model"问题"完成工作,所以不应该画在Domain Model的类图中。
问题处理是一个事件行为,必然导致一个结果,所以问题和问题处理结果之间关系是1:N的关系,类似本文中谈及的信息和信息细节的1:N关系。完全可以用本文的核心模型来表达。
我抽象出核心模型的目的就是因为很多初学者总是在建模时:迷惑那些关系,其实按照高内聚、低关联的设计原则,关联关系很少,尽量消灭,不要象分析数据库关系一样,将关系放在分析的核心重点。
|
|