こんにちは、魔女のアプリケーションをリファクタリングしている最中です。コーディングとアーキテクチャ設計が不適切だったため、アプリを再構築することになりました。幸いなことに、プロジェクトは数か月前に開始されたため、やるべきことはそれほど多くありません。
同僚と話し合った結果、アプリケーションを 3 つのレイヤー (DataAcces、ビジネス ロジック、および GUI) に分割することにしました。
Entity Framework、Automapper、Unity を組み合わせてソリューション全体を再構築しました。
プロジェクトマネージャーと話し合った後、クライアントのチームがこれらのフレームワークに関する知識を持っているため、ある時点で Entity Framework と Unity を NHibernate と Ninject に置き換える必要があるかもしれないことを知りました。
この決定が下されるまでにはしばらく時間がかかり、他の誰かがこれを行う必要がある可能性があります.
Entity Framework 、 Automapper 、 Unity の周りにラッパーを作成し、アプリケーションの有効期間のある時点でそれらを変更する決定が下される場合は、それらを別のプロジェクトに配置することにしました。
現状では、すべてのレイヤーで必要なコードが含まれているため、アプリケーションのレイヤーがこのプロジェクトに属するかどうかはわかりません。例:
-エンティティ フレームワーク - DatAccess
-Automapper - サービスレイヤー
-Unity - GUI レイヤー、サービス レイヤー、DataAccess レイヤー
このため、アプリケーションのすべてのレイヤーでこのプロジェクトへの参照が存在します。
これがアプリケーションの全体的なアーキテクチャに適しているかどうかはわかりません。N 層アーキテクチャに関して私がこれまでに知っていることは、レイヤー間を明確に分離する必要があるということです。
私が見逃しているより良いオプションはありますか、それともこの方法で進めるのが正しいですか?