私はインターフェースに対するプログラミングにかなり慣れておらず、テスト駆動開発の主要なツールとしてそれを正しくしようとしています。
現在、すべてがインターフェースを実装する多くのManagerクラスがありCRUD
ます。ただし、一部のマネージャーはまだ更新を行わず、一部は削除を行わず、一部のマネージャーは削除しない場合があります。
実装されていない例外?
大丈夫ですか
throw new NotImplementedException()
メソッドが実装されるまで、または実装されない場合は常に実行されますか?
(明らかに、プログラマーに「このメソッドは使用されるべきではありません。たとえば、「male」「female」などのタイプは削除されないため)というソースコードコメントがありますか?
スプリット?
または、CRUDインターフェイスを作成可能、読み取り可能(検索可能)、更新可能、削除可能に分割する必要がありますか?それは私のクラス定義を乱雑にしませんか?
PersonManager implements Creatable<Person>, Updateable<Person>, Deletable<Person>, Searchable<Person>
分割して結合しますか?
または、4つすべてのようないくつかのインターフェイスをCRUDに組み合わせたり、Read + Updateのような他の組み合わせを組み合わせたりする必要がありますか?
たぶん、それはまた、大きな継承パスをクリックして、現在の状況に必要なすべてのアトミックインターフェイスを実装するインターフェイスを見つける必要があるインターフェイスの負荷を作成します(読み取りと作成が必要なので、どちらが2つを実装するだけですか?)これはすぐにもっと複雑になる可能性があります)