我查阅了很多关于 DAO 模式的信息,我明白了这一点。但我觉得大多数解释并没有说明全部故事,我的意思是你会在哪里实际使用你的 DAO。因此,例如,如果我有一个 User 类和一个相应的 UserDAO 可以为我保存和恢复用户,这是正确的方法:
控制器创建 User 对象并将其传递给 UserDAO 以将其保存到数据库中
控制器创建用户对象并在其构造函数中用户对象调用 userDAO 以便将自身保存到数据库中
这是一种代码异味,您缺少一个额外的类“UserManager”,控制器将要求该类创建用户。UserManager 负责创建用户并要求 UserDAO 保存
我真的觉得第三种选择是最好的,因为控制器所负责的只是将请求委托给正确的模型对象。你最喜欢的方式是什么?我在这里错过了什么吗?