
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
java编程开发语言随着互联网的不断发展而被越来越多的程序员掌握,今天我们就通过案例分析来简单了解一下,java编程对象转换与复用分析。
一、对象转换
在分层架构中,各层之间存在相互依赖和引用,数据则通过参数对象进行传递。为了确保每一层内部结构的稳定性,我们需要进行防腐设计。这是实现高内聚,低耦合的关键。
示例:模型层一张表有20个字段,那么对应的PO对象就有20个属性。但终端显示层只要显示10个字段,请求处理层(Web)在获取数据时,没有必要把整个PO对象传递回来,这时我们就可以用只有这10个属性的DTO对象来传递结果到请求处理层,这样也不会暴露服务端表结构和一些敏感数据。
数据防腐设计常用的手段就是各层定义自己的数据结构,常见的有:
1.VO(ViewObject):视图对象,主要对应界面显示的数据对象;
2.DTO(DataTransferObject):数据传输对象,主要用于远程调用等需要大量传输对象的地方;
3.DO(DomainObject):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体;
4.PO(PersistentObject):持久化对象,它跟持久层(通常是数据库)的数据结构形成对应的映射关系;
在实际的开发中,为了方便起见,不一定需要为每个服务层定义自己的数据对象,可以根据实际情况来灵活处理。例如,在某些简单的业务场景中,可以跳过DO层对象,直接将PO对象转换为VO对象。
二、对象复用
在迭代了许久的系统中,很容易碰到一个问题,就是一些对象的作用域失控了,其特征有:
1.一个入参对象,有好几个方法在共用,调整一个属性值定义,影响范围大,风险高;
2.直接使用Map容器作为自己服务的入参或出参对象,没有人能讲得清楚容器里面到底有多少内容;
3.一个对象定义里面,存在着多个相似的属性定义。新的需求来了,为了降低风险,索性就再新定义一个,如此循环往复;
对象的作用范围失控问题会导致系统整体的稳定性和迭代效率显著下降。这个问题通常是一个缓慢的积累过程,在不知不觉中形成。其弊端,往往在大的系统调整时集中爆发。
解决此类问题,可以从以下几个方面入手:
1.预防:在进行架构设计的时候就给出清晰的规范定义;
2.发现:定期进行设计和代码评审,发现问题后,及时纠正;
3.止损:发现了此类系统,需要考虑微重构,防止持续腐坏下去;
4.复盘:适时的对系统进行定期复盘,对好的演进进行鼓励,对不足的进行引导,养成好的技术氛围;
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。