来自:http://www.vckbase.com/index.php/video/listview/fid/2/sid/11
COM-组件对象模型
•
COM
是微软组件对象模型的简称。由于
COM
具有二进制代码共享的特性,所以它具备了高可开发性、高度可维护性和高度的可移植性(跨开发语言),以至于在
Windows
上面的诸多应用软件采用了
COM
来做整体的架构。比如微软的
DirectX
等。
COM
虽然流行于
2000-2004
年之间,由于它的普及面之广,应用软件种类之繁多再加上
Windows
对其默认支持很好,开发出来的软件无需依赖其他的开发包,所以被很多软件公司采用至今。作为一个
VC++
程序员,是否系统掌握
COM
的用法成为是否合格的重要的衡量指标之一。
COM
组件的优点
•
采用
COM
组件架构我们的软件,会使我们更方便地进行模块划分,而且各模块独立性高,耦合度低,从而更方便地进行开发任务的分工。
(
开发性
)
•
采用
COM
组件架构我们的软件,会使我们更方便地维护、升级软件,因为我们可以很方便地直接用新模块替换旧模块,而不影响软件的其它功能。(维护性)
•
采用
COM
组件架构我们的软件,可以使我们已编写好的功能模块可以很方便地移植到其它平台,如从
C++
的
MFC
平台移植到
C#
的
WinForm
平台。因为
COM
组件是跨应用的,可以被
C++
调用也可以被
C#
调用。(移植性)
问题描述
•
某软件公司需要设计一套用户登录组件。
对该套组件要求不高,不要求数据的加密解密,不要求数据库的读写,不要求客户端与服务器进行数据通讯与验证,不要求验证码的生成。
具体要求如下:
1、该套组件包含组件A与组件B两个组件。
2、组件A存储了一个用户名以及一个与之对应的密码。
3、调用者可调用组件A的方法来验证调用者所传入的用户名与密码是否正确。
4、调用者可设置或读取组件A所允许的用户验证连续失败的次数。
5、验证连续失败超过次数后,若再接收调用者所传入的验证请求,组件A拒绝继续验证,并向调用者通知“系统拒绝继续验证用户!”
6、组件B必须包含基本的界面布局,界面元素有“用户名文本”,“用户名输入框”,“密码文本”,“密码输入框”,“登录按钮”。其中“密码输入框”在接收字符输入时,不能显示明文字符。
7、调用者可调用组件B的方法,修改“用户名文本”,“密码文本”以及“登录按钮”上面的文字。
8、调用者可读取或设置组件B是否要对用户名与密码做非空判断。如果需要做非空判断,则在点击“登录按钮”时,遇到空的用户名或空的密码就弹出提示框“用户名不能为空”或“密码不能为空”,然后不继续验证用户。
9、当点击“登录按钮”时,若组件B不需要做非空判断,则直接通知调用者要验证的用户名与密码;若组件B需要做非空判断,且用户名与密码不为空时,则也通知调用者要验证的用户名与密码。
是否需要继续观看本视频?
•
大家可以打开本视频教程的最后一个章节查看参考答案。如果你能答出这道题目,那么我恭喜你,你已掌握了如何制作与使用
COM
组件。如果你还存在一些疑惑或某些错误,那么请认真看完本系列教程。本系列教程将帮助你掌握如何制作与使用
COM
组件。