有朋友问用domain model来设计的架构,怎么分层,每层中放什么,我觉得可以用一个很简单的原则来回答这个问题,虽然并不一定完备正确:
1、和表现,和页面相关的,都是Presentation层的
2、是做基础架构的,比如对Hibernate的封装,对Lucence的封装的,放到Infrastructure之中
3、和业务沾一点边的,全部放Domain之中
4、把所有的表现,基础架构,业务挤出去之后,剩下的就是Application层的
5、实践中,Application层的职责主要是接口的转换(Adapt),以及会话逻辑(事务等)
基本上按照这5点原则,不难确定每层中都放什么
1、和表现,和页面相关的,都是Presentation层的
2、是做基础架构的,比如对Hibernate的封装,对Lucence的封装的,放到Infrastructure之中
3、和业务沾一点边的,全部放Domain之中
4、把所有的表现,基础架构,业务挤出去之后,剩下的就是Application层的
5、实践中,Application层的职责主要是接口的转换(Adapt),以及会话逻辑(事务等)
基本上按照这5点原则,不难确定每层中都放什么