服务导向设计中的关键模式与原则
1. 解耦契约模式
解耦契约(Decoupled Contract)是应用服务松耦合(Service Loose Coupling)原则时的一个基础且关键的模式。在使用 Web 服务和 .NET 时,可以通过 WSDL 优先的方法以及一些工具,从生成的 WSDL 和 XML 模式定义来生成代码,从而应用此模式。需要注意的是,本节主要聚焦于支持解耦契约的 Web 服务契约设计,而 REST 服务由于自然地通过应用统一契约实现了解耦契约,因此未作讨论。
2. 服务外观模式
2.1 服务外观的作用
服务外观(Service Façade)模式主张在服务契约和核心服务逻辑之间,以及核心服务逻辑和底层服务实现资源(特别是遗留资源)之间设置外观组件。这样做有两个主要好处:
- 保护核心服务逻辑 :避免核心服务逻辑受到契约变更或并发契约应用可能带来的影响。
- 隔离底层资源变更 :当底层遗留资源需要更改或替换时,减少对服务架构的影响。
2.2 服务外观包含的代码功能
通常,服务外观可以包含以下代码功能:
- 选择调用方法 :决定在核心实现中调用哪些方法或函数。
- 补偿逻辑和数据模型变更 :确保逻辑与契约的耦合性得以保持。
- 保持核心业务逻辑稳定 :当服务契约需要变更时,使核心业务逻辑在物理上保持独立和稳定。
超级会员免费看
订阅专栏 解锁全文
2801

被折叠的 条评论
为什么被折叠?



