在对实际事物或对象进行信息化描述时,通常会遇到需要对多种、多个事物或对象进行特征分类并统一管理的问题。如何用软件语言抽象对象间的隶属关系特征和属性,并剔除对象细节对其抽象的干扰和制约,还是颇让人费神的一件事。
通过对VB的collection对象的类模块化,实现了不同对象隶属关系特征和属性的数据结构描述,形成了不受对象种类和数量制约的开放式数据支撑平台,较好的解决了上述问题,在软件设计过程中可以作为基本的底层数据结构框架嵌入到应用软件的设计中。
在类模块clsObjectsCollection的设计中采用了集合类的设计方式,就像MSDN中所戏言,这种方式拥有“砖块盖的房子”般最强健的封装性,使得程序代码更清晰、更安全。从实现功能的角度来看,它实现了相对通用的对象集合,不受对象种类和数量的限制,例如可以按不同的人际关系对通讯录中的联系人进行归类和统一管理、按地域对不同的通信基站进行管理等。
类模块clsObjectsCollection对外提供了6个公有属性,分别是TypeCount属性、CurrentTypeIndex属性、CurrentTypeObjectsCount属性、CurrentObjectIndex属性、ErrorCode属性和clsObject属性。并且对外提供了6个公有方法来对数据进行操作,分别是AddNew方法、Delete方法、Choose方法、Search方法、Copy方法和Move方法。除了公有属性和方法以外,类模块clsObjectsCollection还有一个私有属性ObjectsTypeCollection属性,用于存储所有对象的隶属关系和对象特征,该属性只能通过6个公有方法和clsObject属性进行间接访问,对外不可见。
其中类模块clsObjectsCollection的clsObject属性为子集合类模块,对外提供了1个公有属性CurrentObjectPropertyCount属性和4个公有方法,分别是SetPropertyName方法、SetPropertyValue方法、GetPropertyName方法、GetPropertyValue方法。除了公有属性和方法以外,clsObject属性也包含了一个私有属性CurrentObjectProperty属性和一个私有方法AddPropertyToCollection方法,用于存储和操作对象特征参数。clsObject属性提供了访问类模块clsObjectsCollection的私有属性ObjectsTypeCollection中存储的具体对象的数据引用或存储映射,通过4个公有方法对具体对象特征进行设置和读取。
下载链接中的GeneralCollection.dll文件为通用对象集合类的ActiveX DLL部件,提供了类clsObjectsCollection和类clsObject(可单独使用)。详细的使用说明和实现方式在后续的博文中会陆续贴出。
使用说明及演示程序:http://blog.ednchina.com/qingshan/1995207/message.aspx
青山Blog http://blog.ednchina.com/qingshan
GeneralCollection.dll文件:attachment download
文章评论(0条评论)
登录后参与讨论