软件设计_接口_中间层

本文探讨了软件设计的核心,强调了接口设计的重要性,以及如何通过设计模式和中间层实现系统的稳定性和可扩展性。通过智能指针、调度接口IDispatch和类型库等实例,阐述了中间层在COM和线程创建等场景中的作用,展示了中间层如何增强类型安全和简化编程。
摘要由CSDN通过智能技术生成

软件设计的核心:
通过设计稳定的接口,分隔系统各部分(上下层次:上层应用逻辑/底层核心支撑框架;平行的层次:模型/视图/控制器),让各部分独立的变化。
接口在软件设计中至关重要,设计良好,稳定可靠,高内聚低耦合,可扩展性强的接口能保证软件稳定的进展升级。

软件架构其实就是接口的设计。

设计模式的核心思想:
1.分析系统中经常变化的和稳定的部分

2.设计接口分隔上面两部分
3.通过添加一个中间层封装接口,可以实现任何设计需求

各种不同的设计模式其实就是在不同的需求下,围绕上面三点的不同表现形式。

一个中间层就是封装了一个设计概念。

[设计模式中的例子...]


看看中间层如何在COM中起作用。
1.智能指针
客户使用COM往往在复制接口指针后需要手动调用AddRef,使用完后调用Release。
这一工作使得COM使用非常麻烦。
另外QueryInterface中的void**参数也不是类型安全的。

这一切可以通过智能接口指针简化编程。
智能接口指针就是简化设计的一个中间层。

2. 调度接口, IDispatch
C++可以直接通过COM接口访问COM组件,因为它可以直接访问vbtl
C++客户 <==> COM接口(vbtl) <==> COM组件
那么VB,javascript等客户呢?他们不能直接访问内存,访问vbtl
这时加入一个中间层 IDispatch,然后这样
VB客户 <==> IDispatch::Invoke <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值