哪些服务被视为基础设施服务?

时间:2012-12-26 19:03:06

标签: architecture n-tier-architecture

From:

  

基础设施服务就像我们的IEmailSender,   直接与外部资源(例如文件)通信   系统,注册表,SMTP,数据库等。像NHibernate一样   会出现在基础设施中。

From:

  

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

a)持久性对象(即Repositories / DAL)是否也被视为基础设施服务(根据上述报价)?

b)所有与外部资源通信且不属于主要问题域的服务(即删除它们会影响应用程序,但它不会影响核心域问题)被视为基础结构服务

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

谢谢

1 个答案:

答案 0 :(得分:1)

只需使用

  

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

作为主要规则。 基础设施服务隐藏了潜在的技术细节。当您从一种技术转移到另一种技术(特定的邮件客户端库;消息传递队列实现,数据存储,日志记录例程,等等,直到整个.net框架和计算机体系结构)。

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

(抱歉,但我认为b)和c)作为更多的理论问题,只能考虑特定的应用程序才能解答。