定义一个dto对象_架构师成长笔记:你应该知道的DAO、DTO这些对象术语

先来吐个槽

笔者作为一个代码极端份者,对乐观代码、惰性代码深恶痛绝。在多年的从业经历中看到过、听到过、经历过太多的失败案例和惨痛教育,其归结原因大致可分为 架构不严谨和开发不规范所导致。 在多数系统架构中存在框架滥用、对象定义混乱,职责不清晰等问题。随着产品长期迭代,代码变得不可维护(没有人能改动了!) ,系统性能急剧下降在所难免。笔者今天就系统架构中对每类对象的应用场景进行一个简单梳理。

PO

PO(Persistant Object) 持久对象

通常为数据库模型(表)和对象(类)之间的映射,即一张表对应一个PO对象,PO中不应存在对数据库的操作。笔者建议:PO中也不应该存在模型以外的属性和方法。

BO

BO(business object) 业务对象

通常为一个封装的复杂对象,由PO组成,调用DAO完成业务处理。

VO

VO(View object) 视图对象

通常用于展示层,封装好客户端所需要的对象,为客户端使用。VO和DTO做的工作差不多,个人理解:VO 典型的使用场景是 .net MVC ,DTO 是Web Api。

DO

DO(Domain object) 领域对象

DDD领域驱动设计中的概念。

DAO

DAO(Date Access Object) 数据访问对象

主要负责持久层的操作,用于访问数据库,为业务层提供数据接口。DAO中包含了各种数据库的操作方法,提供数据库的CRUD操作。

DTO

DTO (Data Transfer Object)数据传输对象

通常用于提供数据接口,如web api 、web service等。粗暴通俗的讲就是假如PO具有50个属性,但是我们的数据接口只需提供10个属性,这个时候可以使用DTO。另外客户端和服务端之间的数据传输也应该使用DTO。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值