Page
またはImage
で拡張できるDocument
というクラスがあります。それぞれにデータベースの挿入メソッドがあります。 Page
およびImage
の挿入物は、Document
の挿入物を含む。これはinstanceofを使用する場合ですか?
と呼ばれるものを方法を決定する方法は、このように、最初のクラスを検証している場合は私の疑いがある:
if (doc instanceof Document){
insertDoc(doc);
}
if (doc instanceof Page){
insertPage(doc);
}
if (doc instanceof Image){
insertImage(doc);
}
それとも別の方法があり、私はいつもinstanceof
を使用することは良くないと聞いたので、もの。
編集:多態性はこの場合正しく機能しません。 insert(Document doc)
、insert(Page doc)
、insert(Image doc)
のようなものです。
私はあなたの解決策を理解していますが、レイヤー(ビュー、TO、データ、コアなど)をすべて分離しているため、最良の選択肢があるかどうかはわかりません。私がそれを使うと、これはこの組織を破りますが、それはうまくいく方法です。ありがとうございました。 –