私は少し前にデザインパターンを学び始めました(これまではファサードと抽象のみをカバーしていましたが、楽しんでいます)。私は自分が抱えている問題に抽象パターンを適用しようとしています。問題は次のとおりです。1つの抽象クラスと一連のメソッドとプロパティを使用してさまざまなデータベースシステムをサポートすると、基礎となる具象クラス(抽象クラスから継承)が実装されます。
DatabaseWrapper抽象クラスを作成し、DatabaseWrapperから継承するSqlClientDataおよびMSAccessData具象クラスを作成しました。
ただし、クライアントにこれらのクラスを実装する限り、パターンがどのように進むかについては、まだ少し混乱しています。
私は次のことをしますか?:
DatabaseWrapper sqlClient = new SqlClientData(connectionString);
これは私が例で見たものですが、具象クラスをカプセル化したいので、それは私が探しているものではありません。クライアントに抽象クラスのみを使用させたい。これは、クライアントへの変更を最小限に抑え、実装用の新しい具象クラスを作成することで、将来、より多くのデータベースシステムをサポートできるようにするためです。
私はまだ学んでいるので、ここで多くの問題があるかもしれません。すべての具象クラスをカプセル化する方法と、アプローチに問題があるかどうかを教えてください。
どうもありがとう!
PS:私はソフトウェアアーキテクチャに取り掛かることに非常に興奮していますが、それでも初心者なので、気楽にやってください。:)