【发布时间】:2013-02-02 03:23:25
【问题描述】:
我对网上找到的一个例子有点困惑 - spring & hibernate(指向4. Model & BO & DAO)。有 Model、DAO 和 BO 类(+ DAO 和 BO 接口)。我不清楚的是,如果 DAO 和 BO 共享完全相同的功能,为什么它们会被分成不同的类(唯一的区别是 BO 有一个 DAO 设置器)。
作者仅解释说,模式:
有助于清楚地识别层以避免弄乱项目结构
但对我来说似乎过度设计(至少在这种情况下)。我知道这个例子很简单,但是这个类分离有什么用呢?有人可以举个例子吗?
【问题讨论】:
-
我想象一个人的 BO 会保存数据,而一个人的 DAO 会检索数据。
-
如果 DAO 不分离,BO(服务)很难重用 DAO。还有其他优点,例如,如果您更改底层 DB 或 ORM 框架,BO 不会受到影响,因为只需要更改 DAO 的实现部分。