- 浏览: 36693 次
最新评论
面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也违背了封装的原则,基类的内容通过子类的继承被暴露出来。对象的封装其实破坏了一种关联关系的整体性,同时过多的get和set方法也实在是浪费时间和增加代价。而方法的多态型表述所带来的可能的混乱不比其带来的方便少多少。因此,在C++以后的OO语言里,不论是Java还是C#,包括他们的编译器,都在这些方面做了一些改进。
在面向对象的开发过程中,是不是一定要坚持“万物皆对象”也是值得商榷的。一个简单的例子,如果我要一次更新10000条记录的某个子段。用SQL语句的话,只要一句update就可以了。但是在“面向对象”的思想下,我们不得不建立10000个实体,取得他们的所有值,再依次更改他们的属性,最后一个个保存到数据库中。即使不考虑10000次数据库连结的耗费,用这么多个实体这么大的代价究竟能换来什么呢。仅仅是代码的可读性、分层性和可维护性好一点么?
基于数据库的面向对象开发中,如何把实体-关系的建模语言反映到关系型数据库中、如何把关系型数据库的结构映射到对象中,都是目前比较头痛的问题。多表连接的查询处理、实体之间关系的OO表示,很多时候只能客制化的处理。在遵守OO的原则下,却不得不做出违反OO的结果,是技术的问题还是设计思想的问题呢?
在面向对象的开发过程中,是不是一定要坚持“万物皆对象”也是值得商榷的。一个简单的例子,如果我要一次更新10000条记录的某个子段。用SQL语句的话,只要一句update就可以了。但是在“面向对象”的思想下,我们不得不建立10000个实体,取得他们的所有值,再依次更改他们的属性,最后一个个保存到数据库中。即使不考虑10000次数据库连结的耗费,用这么多个实体这么大的代价究竟能换来什么呢。仅仅是代码的可读性、分层性和可维护性好一点么?
基于数据库的面向对象开发中,如何把实体-关系的建模语言反映到关系型数据库中、如何把关系型数据库的结构映射到对象中,都是目前比较头痛的问题。多表连接的查询处理、实体之间关系的OO表示,很多时候只能客制化的处理。在遵守OO的原则下,却不得不做出违反OO的结果,是技术的问题还是设计思想的问题呢?
发表评论
-
入职第一天
2004-07-12 20:20 545很喧闹的一天新人训。当然,可以说是激情四射,或者说是嘈杂无聊。 ... -
迎接部门训
2004-07-13 18:07 502今天开始迎接部门的专业训了,C#、SQL Server、数据库 ... -
生活的颜色
2004-07-14 18:57 570一个诚实的裁判就这样慷慨赴义了,很多很多黑暗中的裁判们却还好端 ... -
历史的沉思
2004-07-16 12:43 631很久以前的一篇文章, ... -
选择的未来
2004-07-17 15:11 480先提一个问题:做一个技术员,技术能力重要还是业务知识重要?再提 ... -
统一的困惑
2004-07-19 20:45 524RUP(Rational统一过程)的基本开发方式是迭代。需求迭 ... -
开发的效率
2004-07-21 17:44 525面对多人协同开发的分层系统,有两种开发方式:其一、一人负责一到 ... -
模型或模式
2004-07-22 23:27 634不论是吵吵嚷嚷的软件工程、XP建模,还是死灰复燃的MDA、一心 ... -
泪写的文章
2004-07-29 20:20 506今天我又哭了。一个月前,我还觉得哭于我是很遥远的事情。甚至,我 ... -
期待的精彩
2004-07-31 11:08 526好久好久没有看到国足这么酣畅的胜利了,好久好久没有体会到看球的 ... -
转载的文章
2004-08-01 10:50 497今天转载一篇吧,记录一段可笑的过往。 别了,Dr.Dobb's ... -
TDD 心得
2004-08-03 16:19 776一直觉得,近年来,真正有意义的技术或者思想只有两个:Refac ... -
近期的任务
2004-08-06 12:54 5711、Test Driven Development2、Java ... -
上海印象一
2004-08-09 22:28 552车一进入上海,扑面而来的就是一片一片的高楼,黑压压地便压了过来 ... -
上海印象二
2004-08-10 21:19 510上海当然是天堂,但也是仅对一部分人一部分地区。对大多数人大部分 ... -
转载的文章
2004-08-13 23:38 445O/R Mapping中的继承~ http://www.cnb ... -
生日的祝福
2004-08-15 10:49 700今天是agate的生日。尽管这句话已经被用得很俗,不过我还是想 ... -
等爱的狐狸
2004-08-27 18:16 556“对我来说,你还只是一个小男孩,就像其他千万个小男孩一样。我不 ... -
飞翔的寓言
2004-08-30 20:58 502我才发现梦想与现实间的差别逆着风让自己体验每一个感觉就像是寓言 ... -
客户端回调
2004-09-07 12:30 671Client Callback 是ASP.NET 2.0新增 ...
相关推荐
3. 复制收集器:将堆分为两半,每次使用一半,GC时将存活对象复制到另一半,适合短期生存的对象,但对长期生存对象效率低。 4. 增量收集器:分块收集,每次只处理一小部分,减少应用暂停时间。 5. 分代收集器:根据...
一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。
DeePool 是一个专为JavaScript设计的对象池管理库,它的主要目的是优化内存分配和提高程序运行效率。对象池的基本思想是预先创建一组对象,当需要使用对象时,从池中获取,不再使用时则归还到池中,而不是立即销毁。...
* 提高工作效率:链接对象和嵌入对象可以将其他程序中的内容插入到 Word 文档中,从而提高工作效率。 * 实现动态更新:链接对象可以实现动态更新,讓信息保持最新。 * 灵活选择:链接对象和嵌入对象提供了灵活的选择...
"java对象转对象插件"旨在简化这个过程,提供了一种便捷的方式来将Java对象转换为Map、List、Set或其他对象,提高了开发效率。下面将详细介绍这个插件的工作原理、使用方法及其优势。 首先,Java对象到Map的转换是...
标题“高效的,固定大小的对象池”指的是一个特别设计的池,它具有固定的容量,并且优化了效率。 对象池的基本思想是通过减少频繁地创建和销毁对象来提升性能。当程序需要对象时,它会从池中获取一个已经初始化好的...
提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。
在IT行业中,尤其是在软件开发领域,经常会遇到需要比较对象或数据结构中字段变化的情况。"对象字段变化比较工具"就是为了解决这类问题而设计的。这个工具的主要目的是帮助开发者追踪和分析对象在不同时间点的字段值...
在编程中,我们可以使用new关键字创建对象指针来实现对象的动态分配和释放,可以避免内存碎片的出现,并且可以提高程序的效率和可靠性。例如,在dialog框类中,我们可以使用new关键字创建对象指针来创建一个非模式...
5. **对象重用**:QTP鼓励对象重用,即相同或相似的对象只在对象库中存储一次,提高效率。 在进行QTP自动化测试时,理解这些原理可以帮助我们编写更稳定、可靠的测试脚本。例如,我们可以利用对象的智能识别特性,...
在探讨JavaScript中的集合及其检索效率时,我们主要关注两种数据结构:数组(Array)和对象(Object)。这两种数据结构在JavaScript中被广泛使用,各有其优势和适用场景,尤其是在处理大量数据时,它们的检索效率...
用户对象(User Object)是PowerBuilder中的一个重要概念,它允许开发者创建自定义的、可重用的组件,以提高代码的效率和可维护性。在这个“强烈推荐PB用户对象”的资源中,我们可能找到了一个关于如何有效利用PB...
为了评估性能,可以通过压力测试,观察在大量并发请求下对象池是否能有效减少创建和销毁对象的次数,以及提高数据库操作的效率。 总结起来,C#自定义对象池是一种提升系统性能的策略,尤其适用于资源昂贵且创建销毁...
提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。 C++成山似海的书籍堆中,这一本不是婴幼儿奶粉,也不是较大婴儿奶粉,它是成人专用的低脂高钙特殊奶粉。 对于C++底层机制感兴趣的读者...
电解整流设备的整流效率及其供电对象的电能利用率测算方法pdf,电解整流设备的整流效率及其供电对象的电能利用率测算方法
在对大数据对象进行存取时,通常会遇到数据安全、完整性、一致性以及访问效率等多方面的问题。本文档提供了基于***技术框架对Microsoft SQL Server数据库中image对象的存取技术的介绍,并分析了数据分块大小对存取...