php - getByName()这种类型的方法应该属于DAO层还是BO层?
PHPz
PHPz 2017-04-11 09:10:46
0
5
633

设计代码的时候往往会将代码分层,达到更强的健壮性和可维护性

大概分为

controller 层,与前端模板对应的层
businesses object (BO)层,业务层
value object (VO)层,数据对象层(往往BO层和DAO层之间的数据传递使用VO来传递,BO与BO之间也使用VO传递)
data access object (DAO)层,基础的数据增删改查的方法
database 层,数据库层

等等

如上所述,DAO层设计为数据的基础的增删改查的方法,常见的往往都是按照唯一ID(uuid)来查询、修改的操作,
但也会出现按其他的唯一字段做查询、修改的操作的需求,常见的比如getByName(),deleteByName等
而不同的数据源的唯一字段又不一样,在其他的数据源中,函数往往又叫getBySpecialId(),deleteBySpecialID()等

所以我有一个疑问, 类似于getByName()、deleteByName()这种数据基础的数据操作,而又有一点点业务的含义等方法应该数据DAO层呢?还是BO层呢?

还望有大神赐教,谢谢。

注:绝大部分情况下的DAO类都是统一的一个类,只有BO的类往往会针对不同的数据做不同的业务处理

PHPz
PHPz

学习是最好的投资!

全員に返信(5)
左手右手慢动作

操作了数据库应该在dao层

いいねを押す +0
伊谢尔伦

数据基础操作的话,写在dao层吧,就是最简单的获取和删除数据。然后在其他层可以在此基础上加上其他的业务逻辑。

いいねを押す +0
巴扎黑

DAL(数据访问层)

いいねを押す +0
左手右手慢动作

这种方法在JPA里面很常见,一般应该放在dao层

いいねを押す +0
洪涛

DAO层用于封装数据库的操作。所以应该是dao层

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート