我的解决方案具有以下结构:
- My Solution
-- Core
--- Core.Interfaces (DLL)
--- Core.Data (DLL)
--- Core.Business (DLL)
-- Models
--- Models.Enums (DLL)
--- Models.DTOs (DLL)
--- Models.Model (DLL)
-- Clients
--- Client Access (ASP.NET MVC)
--- Management Access (ASP.NET)
现在我有一个电子邮件类(IEmailer和Emailer),它将在两个客户端中使用,主要在Core.Business中使用,我最初的想法是将它放在Core.Business项目中。
这是电子邮件类的合理位置吗?
答案 0 :(得分:0)
我会将IEmailer
添加到Core.Interfaces
和Emailer
添加到新程序集,例如Infrastructure.Services
。在同一个程序集中使用接口和实现没有多大好处。
接下来,我确保Core.Business
没有直接依赖Infrastructure.Services
程序集,因此Emailer
类型。