2011-06-26 42 views

回答

1

不应该以严格的方式理解SRP。一个对象应该有很少的责任,而不是“一个”。

这里AccountDAO只负责帐户持久性,所以它只有一个责任。

+0

应该如何描述这个类的责任?如果我说“AccountDAO负责账户持久性”,这是1的责任,但如果我说“AccoundDAO负责创建,阅读,更新和删除”,这些都是4.一般来说,文献说如果您需要用AND来描述它,这意味着不止一个责任。那么,描述的哪个层次是正确的? – ejaenv

+0

如果你是一名设计师/程序员,你将会遇到“粒度”(http://en.wikipedia.org/wiki/Granularity)这个问题。对于这个特定的DAO问题,“litterature”表示最好在一个类中实现所有CRUD操作(请参阅http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html)。如果您认为有必要,请将我的答案标记为有效。 – Tristan

+0

对于我制定的DAO课程,我会毫无疑问地回答它,但我看到我错过了我提出问题的方式;而不是DAO特定的,我一直在寻找正确的粒度来描述责任。我将在另一个问题中阐述它。 – ejaenv