您所在的位置: 首页 > 读书频道 > 设计开发 > C++ >

0.4 一个更大的例子

http://book.51cto.com  2008-03-30 19:10  黄晓春  人民邮电出版社  我要评论(0)
  • 摘要:《C++沉思》录这本书中所展示的解决方案有一个共同的思想,那就是抽象——集中注意力,只关注问题中那些在当前背景下最为重要的部分。
  • 标签:C++  编程

0.4  一个更大的例子

我的客人认为这个例子很有说服力。他走后,我意识到刚刚所揭示的东西跟我认识的另一个人在一个非常大的项目里得到的经验非常相似。

他们开发交互式事务处理系统:屏幕上显示着纸样表单的电子版本,一群人围坐在跟前。人们填写表单,表单的内容用于更新数据库,等等。在项目接近尾声的时候,客户要求做些改动:划分屏幕以同时显示两个无关的表单。

这样的改动是很恐怖的。这种程序通常充满了各种库函数调用,都假设知道“屏幕”在哪里和如何更新。这种改变通常要求查找出每一条用到了“屏幕”的代码,并要把它们替换为表示“屏幕的当前部分”的代码。

当然,这些概念就是我们在前面的例子中看到的隐藏状态(hidden state)的一种。因此,如果说在C++版本中修改这类应用程序比在C版本中容易,就不足为奇了。所需要做的事就是改变屏幕显示程序本身。相关的状态信息已经包含在类中,这样在类的多个对象中复制它们只是小事一桩。


回书目   上一节   下一节
上一篇: 0.3 为什么用C++更简单 下一篇: 0.5 结论
C++是垃圾语言?!
VC++基础开发专题
Java编程开发手册
C++开发专栏
Perl实例精解(第4版)
 
 验证码: (点击刷新验证码)   匿名发表
  • 网络工程师考试案例动手实验营

  • 作者:郭春柱
  • 本书依据2009年版《网络工程师考试大纲》的考核要求,深入研究了历年网络工程师考试试题的命题风格和试题结构,对考查的知识点..
Copyright©2005-2008 51CTO.COM 版权所有