0

从:

Infrastructure Service 类似于我们的 IEmailSender,它直接与外部资源通信,例如文件系统、注册表、SMTP、数据库等。NHibernate 之类的东西会出现在 Infrastructure 中。

从:

用于抽象技术问题(例如 MSMQ、电子邮件提供商等)

a)持久性对象(即存储库/ DAL)是否也被视为基础设施服务(根据上面的引用它们是)?

b) 是否所有与外部资源通信且不属于主要问题域的服务(即删除它们会影响应用程序,但不会影响核心域问题)是否考虑了基础设施服务

c) 除了那些直接与外部资源通信的服务之外,是否还有其他类型的服务也属于基础设施服务的范畴?

谢谢你

4

1 回答 1

1

只需使用

用于抽象技术问题(例如 MSMQ、电子邮件提供商等)

作为主要规则。基础设施服务是隐藏底层技术细节的东西。当您从一种技术转移到另一种技术(特定的邮件客户端库;消息队列实现、数据存储、日志记录例程等,直至整个 .net 框架和计算机体系结构)时,它基本上会发生变化。

所以 - 存储库/dal 接口是域的一部分,因为它们从持久状态构造对象。他们的实现(有时是可插拔的)是基础设施的一部分。

(很抱歉,但我假设 b)和 c)是更多的理论问题,仅考虑特定应用才能回答)。

于 2012-12-27T12:05:43.180 回答