我正在创建一个应用程序,我正在使用MVC模式。为此,我将我的视图视为jsps,控制器作为servlet,模型作为DAO对象。我怀疑我将DAO对象视为模型是对还是错?
答案 0 :(得分:4)
模型不是DAO。它是一个包含所有域逻辑的层,主要由两种类型的元素组成,具有以下职责:
我们的想法是,业务逻辑永远不应该依赖于存储机制。在创建发票时,域对象不应该关心,如果数据来自SQL数据库,MSWord文档,远程REST API或仅仅是模拟数据。
您可能会发现这篇文章很有趣且相关:GUI Architectures。
答案 1 :(得分:2)
MVC中的模型是业务逻辑所在的位置。
查看the sun Java EE pattern definitions,我们看到DAO封装了持久性机制,并由业务对象使用。因此,我不认为DAO具有任何业务逻辑。
在简单系统中,一些数据库表或实现业务逻辑的表 数据库(存储过程,参照完整性检查,触发器)然后DAO实际上是业务逻辑面前的一个外观,所以它们看起来像模型。因此,在一些介绍性材料中,您可能会将DAO视为模型中唯一的Java表达式。
当我们选择在Java中实现我们的业务逻辑时,它将位于DAO之上的一层,例如使用DAO的Session Beans,在我看来,它是会话Bean或等效的模型。
所以问问自己:业务逻辑在哪里?这就是模特真正的目标。