嗨,我正在为女巫重构应用程序的过程中,由于编码和架构设计不佳,我的任务是重构应用程序。幸运的是,由于该项目是几个月前开始的,因此要做的工作并不多。
在与同事讨论后,我决定将应用程序分成三层(DataAcces、业务逻辑和 GUI)。
我已经重组了整个解决方案,将 Entity Framework 、 Automapper 和 Unity 混合在一起。
在与我的项目经理讨论后,我了解到在某些时候可能需要用 NHibernate 和 Ninject 替换 Entity Framework 和 Unity,因为客户对这些框架的团队知识。
做出此决定需要一些时间,并且可能需要其他人来做。
我决定围绕 Entity Framework 、 Automapper 和 Unity 创建包装器,并将它们放在一个单独的项目中,如果在应用程序生命周期的某个时刻将决定更改它们。
就目前而言,我不确定我的应用程序中的层是否属于该项目,因为它包含所有层所需的代码。例如:
-实体框架-DatAccess
-Automapper - 服务层
-Unity - GUI 层、服务层、DataAcces 层
因此,在我的应用程序的所有层中都将存在对该项目的引用。
我不确定这是否有利于应用程序的整体架构。到目前为止,我对 N 层架构的了解是,您必须在各层之间进行明确的分离。
有没有更好的选择,我错过了,或者以这种方式进行是正确的?