4

代替テキストhttp://img8.imageshack.us/img8/8558/classdiagram.png

AbstractCrudDaoImpl簡単な説明:同じ親()から継承されたインターフェースと抽象クラスの両方を実装するのが正常かどうか疑問ReadOnlyDaoです。

4

5 に答える 5

2

AbsractReadOnlyDaoImplインターフェイスにない特別なメソッドが定義されていない限りReadOnlyDao、その特定の継承はほとんど役に立ちません。

それ以外の場合は、問題ないように見えます。

于 2009-12-25T16:39:39.987 に答える
2

ReadOnlyDaoという名前には例外があります。それを実装するものはすべて読み取り専用であることを意味しますが、これは明らかに正しくありません。

ReadableDaoに変更することをお勧めします。AbstractReadableDaoImplについても同様です。

于 2010-01-25T13:36:45.507 に答える
1

奇妙に思えます。CrudDaoはAbstractReadOnlyDaoではなくReadOnlyDaoにアクセスする必要がありますか?最初は、AbstractReadOnlyDaoがAbstractReadOnlyDaoImplにアクセスしているように見えましたが、2番目の外観では問題ないようです。

于 2010-01-25T13:08:20.720 に答える
1

この質問を2つに分けることができます。

  • 別のインターフェースから派生した1つのインターフェースを持つことは正常で意味がありますか?
  • 同じ概念をモデル化する抽象クラスとインターフェースの両方を持つのは正常ですか?

最初の質問に答えるのは簡単です。はい、これは、「コア」インターフェイスのみを必要とするクラスがいくつかあるが、よりリッチなインターフェイスを処理する他のクラスがある場合に意味があります。

私が以前ここで扱ったもう1つの質問。

于 2009-12-25T16:48:56.120 に答える
1

デザインは私には非常に合理的です。

あなたのクラス図を見て、各参加者について明確なアイデアを得ることができました. これは良い兆候だと思います。つまり、役割が明確に分離されているということです。

CrudDao拡張するという事実はReadOnlyDao、私にとって完全に理にかなっています。読み書き操作は、読み取り専用操作のスーパーセットです。読み取り専用インターフェイスで何かを実行できる場合は、読み取り/書き込みインターフェイスでも実行できるはずです。これはまさに継承が達成することです。

于 2009-12-25T21:04:23.273 に答える