私は数人でソフトウェアを開発しています。完成したクラス図から1つDatabaseのクラスがあり、たとえば、Orderクラスには2つのコンストラクターがあります。1つは引数がなく、もう1つはid。また、メソッドもあるので、コンストラクターでを指定すると、クラスはクラスを使用してオブジェクトのプロパティにデータを入力し、コンストラクターまたはセッターメソッドにこのクラスを挿入する場所がないとsave()想定しています。だから私は彼らがを使いたいと思っていると思います。idDatabaseDatabaseSingleton
私は彼らにそれを言う前に私の議論が有効であるかどうか知りたいので、ここに彼らはあります:
- このようにすると、SOLID Single Responsibility Principle(SRP)が破られます。
Databaseクラスを必要とするすべてのクラス間に緊密な結合を導入します- オブジェクトの依存関係を非表示にします
- ユニットテストがはるかに難しくなります
- 不要なグローバル状態を導入
それらは有効な議論であり、このようにそれを行う他の欠陥はありますか?私のポイントが有効であるならば、それを彼らに言う価値がありますか?
ありがとう。