怎么样实现永久对象?

Herbert 2000-01-18 03:42:00
加精
在进行面向对象的系统开发时,我们经常要用到“永久对象”这种东西。但是我看了很多资料也找不到能用什么方法来实现。各位高手们,请多多指教!
...全文
297 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qxp 2000-04-23
  • 打赏
  • 举报
回复
永久对象是OO中一个非常复杂的问题
现有的系统有一些非常弱的支持,但远远还不够
土豆 2000-02-18
  • 打赏
  • 举报
回复
关注
blaise 2000-01-22
  • 打赏
  • 举报
回复
This is a big question:
Two ways,one easy one hard.
easy way:use MFC provided serilize functions.
hard way:use RTTI,run time type information.
In fact the easy way is also base on hard way,just MS take care of it for you.
BTW,RTTI is already the ANSI C++ standard,so feel free to use that.And u needn't relie on MFC which measn you can port it to NON MFC compiler,such like g++.
cottle 2000-01-20
  • 打赏
  • 举报
回复
持久对象的实质意义是在存储时保存对象的运行时信息,在读入时自动恢复对象的运行时信息,以保持对象的状态和行为与保存前一致。比如,一个保存有指向其它对象的指针的对象在存储时不仅要存储其自身,还要保存其相关对象和两者间的关系。
MFC为实现持久对象提供了简单的支持,就是使用DECLARE_SERIAL和IMPLEMENT_SERIAL宏。MSDN中有一篇技术文章详细讨论了这两个宏的使用及实现持久对象的一些考虑,文章的名字叫Persistent Object Data Format。
Herbert 2000-01-20
  • 打赏
  • 举报
回复
WHQ所说的方法我理解了,在此谢过!
不过我想实现的永久对象是这样的:
当我的应用程序开始运行时,读入各永久对象的数据,将各永久对象创建起来。但是一旦在程序运行的过程中有新的永久对象生成时或者任一永久对象的数据有改变时,都能够自动存储其自身。
另外,我也要谢谢cloud。不过我希望您能够推荐一本您认为最合适的书。
其他哪位高手有办法解决,也请大胆敕教。先谢了!
cloud 2000-01-20
  • 打赏
  • 举报
回复
《VC++6。0开发使用手册》(特版精品)第七章。
机械工业出版社出版。
netsky 2000-01-20
  • 打赏
  • 举报
回复
可以去看看候捷的《深入浅出MFC》,对"永久保存"有仿真。
WHQ 2000-01-18
  • 打赏
  • 举报
回复
实际上就是结构化的存贮,即在存贮对象的前面加上一些描述对象类型及结构的信息。比如你自己有一些类需要持久化,那你可以为每一个类定一个唯一的标识,并在存贮某类的一个对象时,先写入这个唯一的标识,然后再写入对象的数据,这样在读取时,对每一个读出的标识进行分析,得出后面的数据是何种类型,它们的组织结构是怎样的,然后就可在内存中重新创建这个对象了。
线性结构的持久化实现起来比较容易,但非线性结构——如树、图之类则麻烦得多。如果你不是有很特殊的要求,建议你直接采用现成的开发工具提供的方法,如MFC中的对象动态创建、OWL中的可流化对象等等。
cloud 2000-01-18
  • 打赏
  • 举报
回复
你试着看一看MFC的书籍,MFC对他进行了封装,由CArctive实现.
也可看看源代码.
Re:CCNA_CCNP 思科网络认证 《 广域网 帧中继和永久虚电路 》======================# 本章课程大纲 广域网与局域网的区别 广域网连接类型 典型的广域网封装协议 广域网①HDLC协议的配置和应用场景 ②PPP协议的应用场景和配置 ③PPPoE协议实现拨号上网 配置路由器广域网接口支持④帧中继(重点)永久虚电路 # 广域网与局域网的区别 局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。一般企业或机构自己购买设备,将物理位置较近的办公区的计算机使用网络设备连接起来,一般覆盖范围是几千米以内(光纤组网)。 广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。由专业的Internet服务器提供商(ISP)提供广域网连接,网通或电信。广域网的带宽由企业所付的费用决定,比如我们上网的ADSL就是租用网通或电信的服务。 # 广域网连接类型 1. 专线(Leased lines)                (当前费用降低) 电路交换  2. 电路交换(Circuit Switching) (早期过气技术...) 3. 包交换(Packet Switching)    (性价比较高且灵活性强)(本章重点) # 典型的广域网封装协议 R1(config-if)#encapsulation ?                     //重新封装(12种)  frame-relay     Frame Relay networks  hdlc                 Serial HDLC synchronous(default)  ppp                  Point-to-Point protocol ... ... # 配置路由器:广域网接口使用HDLC协议# 配置广域网链路使用PPP协议:搭建实验环境# 搭建PPPoE拨号实验环境:实现路由器类DHCP分配各项资源# 帧中继和永久虚电路(本章重点) 帧 数据链路层:帧[frame] [freɪm] 网络层:数据包[packet] 传输层:数据段[segment] [ˈseɡmənt] 中继 中继(Relay)是两个交换中心之间的一条传输通路。 中继线是承载多条逻辑思维链路,在一条物理链路实现。 中继设备(帧中继交换机),将强或归正数据长途传输 帧中继(frame relay) 通过帧标记的复用技术 (类比trunk干道链路:vlan标记的复用计算) # 帧(数据链路层)中继 帧中继已成为近几十年WAN(广域网)服务最流行的技术之一。 帧中继默认情况下归为非广播多路访问(NBMA)网络, 即默认情况下不在网络上发送像RIP更新这样的广播包。 帧中继是从X.25技术发展来的。 永久虚电路(Permanent Virtual Circuits,PVC)是目前最常用的类型。 Permanent [ˈpɜːmənənt] adj. 永久永久 即电信公司在内部创建映射,只要你付费,虚电路就一直有效。 交换虚电路(Switch Virtual Circuits,SVC)更像电话呼叫。 当数据需要传输时,建立虚电路; 数据传输完成后,拆除虚电路。 帧中继PVC使用 数据链路连接标识符 (Data Link Connection Identity,DLCI[帧标记])标识DTE设备 控制时钟频率的是DCE,被动端设备DTE-----------------------------              

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧