皆さんが良い単体テストと統合テストを行ってくれることを願っています。そうでない場合は、ここから始めます。
その後、最初のステップで、abstract factory
すべての DAO とエンティティへのアクセスを提供する を作成し、クライアントからのすべてのアクセスをそのファクトリを経由するように変更できます。このステップでは、そのファクトリの実装を提供し、具体的なファクトリJpaAccessFactory
を作成して、そのメソッドが JPA を使用して埋められた DAO とエンティティを返すようにする必要があります。
最初のステップで何も悪くなかったと確信している場合。次に、2 番目のステップに進みます。
SqlAccessFactory
SQL を使用して、DAO とエンティティ (エンティティ クラスのオブジェクトは実際には単なる DAO です) を埋めるファクトリ実装を作成します。両方のファクトリを使用するいくつかのユニット テストを作成し、providers by と provided by を使用してアサートをexpected
作成 JpaAccessFactory
しactual
ますSqlAccessFactory
。
でテーブルとそのすべての依存関係のファクトリ メソッドの実装が完了したら、SqlAccessFactory
このメソッドによって提供される DAO またはエンティティを使用するクライアント/ページに、新しいファクトリを使用して取得させます。これを構成可能にすることができるので、使用されている魔女工場を変更するためにコードを変更する必要はありません。これには、何かが本来あるべきものではないことがわかった場合に、簡単に元に戻すことができるという利点もあります。
まだ実装されていないファクトリ メソッドは、SqlAccessFactory
単に例外をスローする可能性があります
throw new UnsupportedOperationException
("Not yet implemented, please configure your client / page to use JPA.");
これが、どこからどのように開始するかのヒントになることを願っています。