耦合相关简要解释
耦合
耦合是两个或者多个组件之间相互关联,如果两个组件或模块之间的耦合度越高,则会导致维护成本越高。因此,在系统架构的设计过程中,应当减少各模块之间的耦合度,提高模块的可维护性。
紧耦合
紧耦合可以看成是C/S模型,如图所示:
优点:架构和设计简单、开发周期短、能够快速投入生产
缺点:
随着规模的增大,系统的稳定性会逐渐变差。
- 同步操作会导致网络资源消耗大。同步的等待过程中有大段时间是空闲的,这造成对资源的浪费。
- 安全力度差,由于服务器直接向外暴露到客户机,容易引发网络攻击行为。
- 程序代码之间关联度高,不利于模块化处理。
松耦合
松耦合可以看成是CAS模型,亦就是在CS之间放置一个代理,如图所示:
在新的架构下,客户机角色不变,由代理服务器承担与客户机之间的通信,而服务器位于代理服务器后面,对客户机而言是不可见的。
优点如下:
- 提升了对多任务并行处理能力,实现负载自适应机制。
- 保护了对服务器端的安全
- 异步操作减少网络资源消耗和操作关联
- 提升了系统的可维护性
松耦合和紧耦合的对比
紧耦合架构 | 松耦合架构 | |
---|---|---|
工作方式 | 同步 | 异步 |
程序关联依赖 | 强 | 弱 |
业务逻辑关系 | 集中控制 | 分散控制 |
设计难度 | 容易 | 比较复杂 |
响应能力 | 快 | 和并行工作量成反比 |
时效表现 | 实时 | 无要求 |
业务使用范围 | 简单计算 | 复杂计算 |
安全 | 弱 | 强 |
应用领域 | 小规模并行处理环境 | 大规模、超大规模并行环境 |
系统稳定性 | 弱 | 强 |
解耦
解耦由字面可得知是解除耦合关系,但在软件工程中,是不可能做到完全解耦的,降低耦合度时即可理解为解耦。
此文章版权归B1ackSand所有,如有转载,请注明来自原作者