我有一个 MVC 分层应用程序,我对横切层有一些疑问。到目前为止,这一层有日志记录、DI、错误处理和缓存。
我创建了一个项目并将所有这些功能按文件夹分开。这个可以吗?还是应该为每个功能创建一个项目?
因为我在这个项目中设置了 Autofac(DI 文件夹),所以我必须添加对其他项目的引用:模型、存储库和服务。可以将这些引用添加到 Cross Cutting 项目吗?
我应该创建一个单独的项目来对通用功能进行分组吗?例如枚举、常量和 GetMd5Hash 等方法。或者我应该为此使用交叉切割项目?
我应该将 Automapper 视为跨领域关注点吗?到目前为止,我在Presentation 层设置了它,从Entity 转换为ViewModel,将ViewModel 转换为Entity。因此,我不得不添加对 Model 的引用,这是我想避免的。
c# architecture model-view-controller cross-cutting-concerns automapper