QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 768|回复: 4

【讨论】【想法】DCL,动态类库

[复制链接]
发表于 2005-4-1 09:35:02 | 显示全部楼层 |阅读模式
名称:
        DCL,Dynamic Classes Libraries,动态类库。

形式:
        一个动态链接库,在Linux下是一个.so文件,在windows下是一个.dll文件,也可考虑采用.dcl的扩展名。

内容:
        一个DCL文件中包含了多个类,以及相关的辅助函数和辅助数据。

目的:
        在程序的运行期间让程序能够动态地改变自己所使用的类,并且要求对自己所使用的类所必须了解的信息尽量地少。

作用:
        可以在程序的运行期间动态地改变对象的行为和特性,并且使载入的类的特性尽量少地受到程序的限制,以此来实现程序的可扩展性和灵活性。

实现时所受的限制:
        必要的限制:
                用户程序不需要知道所载入的新类的具体使用方法和具体用途;
                用户程序不需要知道所载入的新类的类名或其他针对类的标识信息(但是可以由使用程序的人来给出类名或其他针对类的标识信息);

结构:
        DCL文件中包含一个factory,用户程序通过一个c函数来获得对这个factory的实例的引用,通过提交类的标识信息来获得所请求的类的实例。
        DCL中包含的类全部有一个公共的基类,这个基类中定义了通用的接口,这些接口应当是和其派生类的具体功能无关的,这样用户程序通过这些接口可以访问载入的类的实例,并且使它们正常工作,当是却不需要对它们有所了解,也就是说不会对载入的新类有过多的限制,当然要使它们正常工作是有条件的,其中的一个条件是给它们提供所需的数据资源、CPU资源等系统资源以及使它们之间或它们和用户程序的现有系统里的对象之间建立正确的、可用的联系以使它们能够溶入现有系统来发挥作用(也就是正确整合)。
发表于 2005-4-1 10:15:08 | 显示全部楼层
COM
Corba
回复

使用道具 举报

 楼主| 发表于 2005-4-1 12:09:19 | 显示全部楼层
晕……不太了解,不过如果我要用来开发游戏,那些是否适合呢?
回复

使用道具 举报

发表于 2005-4-1 12:32:53 | 显示全部楼层
[quote:298468e8c5="sjinny"]晕……不太了解,不过如果我要用来开发游戏,那些是否适合呢?[/quote]
如果单纯用在某个项目里,自己写一套简单适合你的目标的没什么。

问题是你没说啊。

任何通用方案放在某个特定应用里都不会是最优的。
回复

使用道具 举报

 楼主| 发表于 2005-4-1 15:54:05 | 显示全部楼层
[quote:feeb8c5067="kakuyou"]
任何通用方案放在某个特定应用里都不会是最优的。[/quote]
呵呵,有道理~
我的游戏里会有各种不同的道具,大到宇宙飞船,小到飞行控制面板,有很多东西,我希望能够把这些对象的类封装起来,在运行时动态载入,这样以后可以更换、添加一些东西……关键是,我不希望公共的接口对以后新增的类产生太多的限制……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 09:52 , Processed in 0.040638 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表