一个清晰的项目结构有利于团队协作和代码重构。一般项目结构为controller,service,dao三层,合理使用DTO,引入manager层可以让代码更美
项目结构的演变(纯属个人理解)第一阶段:
业务比较简单,只是单表增删改查,Controller层直接调用Dao层,即可实现
第二阶段:
随着业务的发展,处理的业务也比之前复杂,可能需要用多个表的数据,或调用外部系统。页面展示也更加丰富,要展示的数据可能来自多张表,或多个系统.
故引入了service层组织业务逻辑;引入VO聚合数据,用于前端的页面渲染
第三阶段:
再随着业务的发展,业务之间有了一定功能重叠,
为提高代码重用性,故引入了manager层来下沉service层的公共业务逻辑,
由于manager层的更具有通用型,不可避免service在和manager交互时,需要借助DTO对象
第四阶段:
再随着业务的发展,同一业务触发源可能有多个,例如页面人工操作、外部系统调用、定时任务、事件监听等。这些来源可能对返回值要求不一样,
故引入BO概念,来封装service层的返回



