新闻动态
软件开发的主动对象
https://www.sytm.net 发布日期:2013/11/20 16:29:04

以c为代表的高级程序设计语言的广泛使用,使程序员从繁重的内存管理工作中解脱出来,程序员使用高级程序设计语言可以在内存中构造复杂的数据模型,通过指针构造复杂的数据结构(链表、图等),并且可以快速而随机地访问内存中的数据。

然而,内存是临时性的存储介质,若想计数据的生存期跨越程序的生命周期,即使数据成为永久性数据,则必须借助于外部存储器。近十几年以来,一些新的应用领域(如Internet、oa等)层出不穷,在这些新的应用领域中,住往要求共享永久性数据。同时,数据之间关系复杂,要求外存不仅要存储这些数据,而且必须有效地保持其复杂的关系:

实现数据的永久性,传统的力法是利用数据库管理系统成文件系统来存储和管理外存巾的永久性数据。然而上述力法在实现永久数据存储时还是存在一些不足。数据库管理系统要求对永久件数据作强制性解释*另外,数据库管理系统虽然有一定的数据构造和抽象能力,但抽象能力有限并不能表达丰富的信息。

在文件系统中,永久件数据常常以字符流的形式存在。这种数据类型决定了永久性数据不具备数据类型的构造和抽象能力,程序目必须按照事先约定的数据结构来解释和使用永久性数据。同时、程序员的分析、设计模型往往与数据库模式不一致,程序员必须遵循数据库系统的所有规则、因此需要将分析、设计模型转化为数据库系统能够识别的数据格式。

面向对象技术为解决上述问题提供了一条有效的途径,即永久对象技术。所谓永久对象,就是生存期可以超越程序的执行时间而长期存在的对象。类通过实例化后得到了对象,在程序巾对象的生存期都不超过程序的运行时间。即当程序运行结束时,类所定义的对象也都结束了其生命周期。如果一个程序要求对象的属性需要长期保存,以至于这些属性可以被后续程序在运行时进行访问,就需要通过众久对象技术加以实现。根据永久对象技术,在程序撰写过程中。只要程序员声明某个对象是永久的,则它的存储、恢复、转换等问题完全内系统白动解决,程序员一概不用关心。

永久对象不仅提高了编程效率,还使面向对象设计阶段的数据管理部分的设计大力简化,而且可实现对象在不问程序之间的动态共享。

然而,永久对象的实现需要三个方面的工总:一个能够描述和处理永久对象的编程语言、一个面向对象数据库以及对象管理系统。上述工作涉及对象的存储、恢复、共享、并发存取和一致性保护等一系列技术问题,而实现这些问题的难度是巨大的,目前国内外在这方面研究性的工作较多而实用的产品较少。但随着永久对象重要性被更多的人所知,可以预言,支持永久对象的产品他的CASE环境、工具及程序设汁语言,今后将在计算机技术领域中扮演更重要的角色。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览