「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战」
- 同样是存放javaBean类的包,为什么还要再细分为dto、vo层呢?
回答:因为在实际项目中,一个项目不在是个人完成了,一般都是团队完成,而且项目的复杂度比较大时,就需要我们分离开不同功能的javaBean。这样可以减少发生错误的可能性,降低出错概率。
- 不分那么多dto和vo层可以吗?
回答:可以,如果你的项目只是一个增删改查的小项目,甚至就是一个人单独写的小系统,结构都非常简单时,就完全没有必要搞那么多包来区分。不分开也是可以的,只是说分开了更好,使项目逻辑更加清晰,便于管理。
- dto、vo包分别代表什么含义?
回答:VO指的是View Object,一般用在前端页面和控制层之间通信的封装类;DTO指的是Data Transfer Object,一般用在展示层与服务层之间的数据传输对象。至于dto里面的input,output应该是指入参实体类和输出参数实体类。vo里面的request,response是前端请求中的请求实体类和响应实体类。这
- 好多类的字段都是相同的,为什么也要分开呢?
回答:这个主要是考虑以后的变化。有时候输入和输出一开始的一样的,但是随着需求的迭代,需要给他加一个或者删除一个属性,此时只需要对其中一个类进行修改即可。反之如果合并起来的话也是可以用,只是后期这个类只能新增不能删除,多处引用删除就会报错,但是一直新增就会有很多冗余的字段,让后来的程序员难以理解。
总结:小项目不用区分,分了也意义不大。大项目团队多人协作,而且复杂度较高时,分开会容易管理。如果一个项目此时不复杂但是以后也越来越复杂的话(尤其是一些公司的核心系统),架构师们就需要提前考虑好,不然等后期在来分层,项目的稳定性就会很差。