Rus*_*ino 2 inversion-of-control asp.net-mvc-3
我想知道..如果我有像ILoggingService,IMailerService,ICacheService这样的服务.这些都是基础设施的一部分.但是,您是将它们作为静态类还是将它们注入基类中,以便所有派生类都可以作为单例访问它们?你怎么处理它们?
依赖关系通常代表基础架构组件.不仅可以通过电子邮件发送,而且可以将任何类型的数据访问视为基础架构的一部分.此类服务最好保留为"正确"的依赖关系,因为它们实现了应用程序的行为.您可以说它们可以满足应用程序的功能要求.
无论是否发送了电子邮件,还是保存在数据库中的记录都存在功能差异.
但是,缓存之类的东西代表了非功能性需求.该应用程序在没有它的情况下工作,尽管速度较慢.记录有时属于此类别,而在其他时候它是功能要求.
许多基础架构组件(例如日志记录,审计,缓存,授权,计量等)都是跨领域的问题因此通常更好地作为装饰器解决,有时可以将其推广到AOP.
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |