`
阅读更多
面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也违背了封装的原则,基类的内容通过子类的继承被暴露出来。对象的封装其实破坏了一种关联关系的整体性,同时过多的get和set方法也实在是浪费时间和增加代价。而方法的多态型表述所带来的可能的混乱不比其带来的方便少多少。因此,在C++以后的OO语言里,不论是Java还是C#,包括他们的编译器,都在这些方面做了一些改进。

在面向对象的开发过程中,是不是一定要坚持“万物皆对象”也是值得商榷的。一个简单的例子,如果我要一次更新10000条记录的某个子段。用SQL语句的话,只要一句update就可以了。但是在“面向对象”的思想下,我们不得不建立10000个实体,取得他们的所有值,再依次更改他们的属性,最后一个个保存到数据库中。即使不考虑10000次数据库连结的耗费,用这么多个实体这么大的代价究竟能换来什么呢。仅仅是代码的可读性、分层性和可维护性好一点么?

基于数据库的面向对象开发中,如何把实体-关系的建模语言反映到关系型数据库中、如何把关系型数据库的结构映射到对象中,都是目前比较头痛的问题。多表连接的查询处理、实体之间关系的OO表示,很多时候只能客制化的处理。在遵守OO的原则下,却不得不做出违反OO的结果,是技术的问题还是设计思想的问题呢?
分享到:
评论

相关推荐

    day020-继承加强和设计模式代码和笔记.rar

    优点:在类加载的时候,就创建好对象放到静态区了,获取对象效率高。线程安全 缺点:类加载效率低,并且static修饰的成员占用资源。 2. 懒汉模式:懒加载模式 (优化方式:双重校验锁) 优点...

    list去掉重复对象

    一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。

    让hibernate输出sql语句参数配置.doc

    为了提高 Hibernate 框架下的对象效率和开发效率,需要对其进行合理的配置。下面将详细介绍 Hibernate 配置参数的用途和使用方法。 1. hibernate.dialect hibernate.dialect 是一个 Hibernate Dialect 类名,允许 ...

    word2021链接对象和嵌入对象.docx

    * 提高工作效率:链接对象和嵌入对象可以将其他程序中的内容插入到 Word 文档中,从而提高工作效率。 * 实现动态更新:链接对象可以实现动态更新,讓信息保持最新。 * 灵活选择:链接对象和嵌入对象提供了灵活的选择...

    C++对象模型

    提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。

    电解整流设备的整流效率及其供电对象的电能利用率测算方法.pdf

    电解整流设备的整流效率及其供电对象的电能利用率测算方法pdf,电解整流设备的整流效率及其供电对象的电能利用率测算方法

    论文研究 - 经验验证的软件效率评估模型:产品运营视角

    本文对面向对象软件的效率进行了适当的回顾,并提出了有关类设计级别效率的一些相关信息。 程序效率是影响软件质量的重要因素。 而且,如果在软件创建过程的早期阶段就已经进行了软件效率分析,那么它可以确保作为...

    CRL面向对象ORM开发框架

    效率问题:在对象映射上作了缓存处理,查询效率几乎等于手写SQL效率,注:CRL对象查询默认是 with(nolock) 动态存储过程支持与查询转换,极大减少了数据库维护工作,增加开发效率 最新版本请关注:...

    C++对象和指针的引用

    (2) 使用对象指针实参仅将对象的地址值传给形参,而不进行副本的拷贝,这样可以提高运行效率,减少时空开销。 当形参是指向对象指针时,调用函数的对应实参应该是某个对象的地址值,一般使用&后加对象名。下面举...

    基于DEA-Malmquist模型的陕西省物流产业效率综合评价

    基于此,研究以陕西省物流业为研究对象,应用DEA方法和Malmquist全要素生产率模型对2007—2016年陕西省物流业的动态效率和静态效率进行综合评价分析。首先,对综合效率进行静态评价,并分析造成效率水平的原因;其次,运用...

    Java Map 遍历实例与效率比较

    主要提供java中的map的遍历实例及效率比较

    C#WinForm利用GDI+的双缓冲技术来提高绘图效率.pdf

    C# WinForm 利用 GDI+ 的双缓冲技术来提高绘图效率 在 .NET 时代,Windows 的绘图技术从 GDI 升级到了 GDI+,GDI+ 提供了一套统一的绘图编程模型,极大的提高了 Windows 绘图编程的方便性。然而,在实际开发中,...

    深度探索 c++ 对象模型(pdf版)

    提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。 C++成山似海的书籍堆中,这一本不是婴幼儿奶粉,也不是较大婴儿奶粉,它是成人专用的低脂高钙特殊奶粉。 对于C++底层机制感兴趣的读者...

    深度探索C++对象模型

    提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承

    深度探索C++对象模型(清晰版).pdf

    这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现...

    剖析组件对象技术对提高软件开发效率的技术基础

    剖析组件对象技术对提高软件开发效率的技术基础,张鹤,关泽群,文章首先介绍了软件组件技术发展的背景,将组件对象技术与面向对象的技术进行了比较,随后介绍了组件对象的概念及其技术,着重讲

    深度探索C++对象模型 PDF中文清晰版

    这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现...

    深度探索模C++对象模型PDF

    3.5 对象成员的效率(Object Member Efficiency) 3.6 指向Data Members的指针(Pointer to Data Members) “指向Members的指针”的效率问题 第4章 Function语意学(The Semantics of Function) 4.1 Member的各种...

    三维GIS场景与多路视频融合的对象快速确定法.docx

    该模型可以实时反映视频对象和渲染对象之间的空间关系,从而提高融合效率。 知识点五:多路视频融合 多路视频融合是指将多个视频信号融合到三维场景中,实现多角度、多视点的视频展示。该技术可以应用于各种领域,...

Global site tag (gtag.js) - Google Analytics