0
のは、例として使用してみましょう:どのように多くの責任DAOパターンが凝集/ SRPを台無しにしますか?
class AccountDAO {
create(){..}
read(){..}
update(){..}
delete() {..}
}
がありますか? 1または4?
のは、例として使用してみましょう:どのように多くの責任DAOパターンが凝集/ SRPを台無しにしますか?
class AccountDAO {
create(){..}
read(){..}
update(){..}
delete() {..}
}
がありますか? 1または4?
SRPは厳密に理解されるべきではありません。 1つのオブジェクトは、「1つではなく」、非常に少ない責任を負うべきです。
ここで、AccountDAOはアカウントの永続性のみを担うため、責任は1つだけです。
このクラスの責任はどのように記述する必要がありますか? 「AccountDAOはAccount persistanceの責任を負う」と言うと、これは1つの責任性ですが、「AccoundDAOは作成、読み込み、更新、削除を行う責任があります」と言われれば、これらは4です。それを記述するためにANDを使用すると、複数の責任を意味します。だから、どのレベルの記述が正しいのですか? – ejaenv
デザイナー/プログラマーとして働いている場合、あなたはこの細かい粒度(http://en.wikipedia.org/wiki/Granularity)の問題を経験するでしょう。この特定のDAO問題のために、 "倫理学者"はすべてのCRUD操作を1つのクラスに実装する方が良いと言います(http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.htmlを参照)。あなたがそれがそうだと思うなら、私の答えを有効とマークしてください。 – Tristan
私は定式化されたDAOクラスについて確かにあなたが答えたのと同じように有効とマークしますが、私は質問を定式化した方法を逃しました。私はDAO固有ではなく、責任を記述するための正確な粒度の方法を探していました。私は別の質問でそれを定式化するでしょう。 – ejaenv