面向对象作为一种横空出世的新技术,首先承诺的就是“更好的重用性”,而“重用性”这样一个闪闪发光的词,也的确能够吸引程序员的实现,那么多新的理论、新的技术、新的方法、新的框架、新的思想,用来说服别人接受的一个最大的理由,就是“更好的重用性”。然而,OO以及一直以来不断发展的OO相关技术,对于重用性的提高,作出了多大的贡献呢?
在面向过程的时代,重用很简单,就是代码的重用,函数、函数库、模板、模板库。如此而已。在ADT出现之后,世界分裂了。代码重用的需求,现在分裂为三个部分:数据类型的重用、ADT内部代码的重用、操作ADT的代码的重用。
这句话特别关键,让我再仔细分析给大家看看:ADT=抽象数据类型。就是封装了操作和数据的一种用户自定义数据类型。
1、如果仅仅是ADT,那么相近的用户自定义数据类型就无法重用,因此出现了一个数据类型的重用需求;
2、因为ADT封装了对于数据的操作,对于A类数据的操作,就无法被B类数据重用,因此出现了一个ADT内部代码的重用需求;
3、因为对于ADT的操作是借助ADT的外部界面执行的,也就是说,对于接近但是不同的类型的操作,必须写出不同的代码,因此出现了对于操作ADT的代码的重用需求。
这样的分裂的三个需求,在随后的OO的发展历史中,分别被两种方法来初步满足。第一、第二种需求,被继承这样的技术来试图满足;第三种技术被泛型类试图满足。这两个技术满足了三种重用的需求了吗?没有!不但没有满足,而且还带来的诸多麻烦的问题,更在分别满足三种需求的时候,起了冲突。(前面已经讨论过的内容,可以回头再看一看,我将来再改写这篇文章的时候,会将封装 VS. 重用性的分析,作为一根主线贯穿OO分析的始终,现在就不重新组织结构了。)
由于封装与重用性之间,存在着本质性的冲突,因此,OO的分析、设计、编程方法就始终处于一个难学、难用、难懂的状态。我们说给OO下定义非常困难,但是大家都应该承认,ADT是OO的根。数据与操作的封装是一切OO思想的基础,也是所有OO信奉者从来没有怀疑的“前提”!
在继承与泛型不能解决重用难题之后,OO大师们提出了OO设计原则,提出了OO设计模式,这是我接下来的文章里将要细细批驳的两大“贡献”。但是OO的原则、模式,依然没有解决重用难题。在此之后,又有人提出了AOP、IoC这样的概念,还有人真正开始和我一样怀疑封装的意义,而开发了CGLib,Mixin这样的动态改变对象行为与结构的技术,这也是我将要批判的“最新进展”。到了这个时候,真正理解OO本质的人,应该已经看出来了,OO时代即将结束,因OO而带来的混乱也该结束了。现在唯一的问题是:“什么样的技术,才是可行的、替代的方案呢?”
(未完待续)
下三节预告:
《OO设计原则批判》
《设计模式批判》
《OO新技术批判》
相关推荐
【标题解析】:“图片购物搜索淘淘搜:敲响美丽说们的丧钟?”指的是新兴的电商搜索工具“淘淘搜”通过创新的图片购物搜索功能,对以美丽说、蘑菇街为代表的图片购物网站构成潜在的竞争威胁。 【描述概要】:文章...
20210509-信达证券-化工行业:敲响轮胎消费时代的钟声!.pdf
提到的“丧钟为谁而鸣”,这句话源自约翰·多恩的诗句,意味着每个人的死亡都是所有人的损失,每个人都在为自己的死亡敲响丧钟。在这里,读者被提醒珍惜当下,因为生命无常,每一刻都可能是最后的时刻。同时,这也...
化工行业:敲响轮胎消费时代的钟声!.pdf
《丧钟为谁而鸣.docx》这篇文档,虽然没有直接涉及IT技术的细节,但却深刻地反映了在数字化社会中,我们如何面对人文关怀和社会责任的问题。 文档开篇的质问“丧钟为谁而鸣”是一个哲学性的设问,它引导我们去思考...
化工行业:敲响轮胎消费时代的钟声!(30页).pdf
化工行业:敲响轮胎消费时代的钟声!(2021)(30页).pdf
在当今这个快速发展的时代,环境问题已经成为了全球关注的焦点,而地球的未来,更需要我们每一个人的关心与参与。在小学六年级的道德与法治课堂上,“地球——我们的家园”这一主题旨在让学生们深入理解环境问题的...
最近,黑哥发布了一套名为“黑哥——去年跨过的浏览器ppt”的演示文稿,该文稿被认为是一份权威的参考资料,对于了解浏览器最新发展和安全问题具有极高的价值。 黑哥的这系列PPT资料,不仅对浏览器的技术发展脉络...
然而,以android和iphone手机为代表的智能移动设备的发明却敲响了pc时代的丧钟!移动互联网时代(3g时代)已经来临,谁会成为这些移动设备上的主宰?毫无疑问,它就是android——pc时代的windows! 移动互联网还是...
这种精神,正是敲响希望的警钟,为我们指引着前方的路,让我们在黑暗中看到了光明,为未来注入了信心和力量。 在疫情的冲击下,每个人都是时代的一份子,无论身处何种位置,都能够为抗击疫情贡献自己的力量。正是...
《医疗废物管理的法律问题探析——以湖南某湖流域为例》 医疗废物管理是公共卫生领域中的重要环节,它涉及到环境保护、公众健康和社会稳定等多个层面。这篇研究主要以湖南某湖流域为背景,深入探讨了我国医疗废物...
随着新年的钟声敲响,我们迎来了一年之初的开门红,这不仅是一个时间节点的象征,更是一个充满希望与机遇的开始。在这样的背景下,2013年,我们公司选择以一场盛大的年会来庆祝这一历史性的时刻,而“2013开门红——...
一封呼吁暂停大模型研究6个月的公开信让一家名为未来生命研究所(Future of Life Institute 简称:FLI)站上了风口浪尖。 这家研究所的联合创始人Max Tegmark,是来自麻省理工学院的物理学家和人工智能研究员,...
回顾往昔,2012年武汉“9·13”施工电梯事故的惨痛教训至今让人记忆犹新,该事件中操作不当导致的人员伤亡给整个建筑行业敲响了警钟。事故的背后暴露出一个共同的问题:非专属司机的操作隐患。在正常施工过程中,...
《传统文化的继承与弘扬——社会实践活动调查报告》深入探讨了这一主题,并对如何在新时代背景下保持和发扬传统文化提出了见解。 报告指出,当前全球化趋势下,中国传统文化面临种种挑战。西方节日文化的流行和渗透...
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 ...
"地球——我们的家园 教案(教学设计)" 本教案旨在帮助六年级学生初步养成珍惜地球资源、保护地球环境的行为与习惯,了解地球是目前已知的惟一有生命存在的、适宜人类生存和发展的星球。通过教学,学生能初步归纳...
《地球——我们的家园》是教育学生认识地球独特性和环保重要性的关键课程。这一课时的教学设计旨在通过多种教学策略,使学生对地球的唯一性有深入理解,提高他们对环境保护的认识,培养珍视地球家园的情感。 教学...
在当今这个快速发展的时代,人们在追求物质利益和事业发展的同时,往往容易忽视安全的重要性。然而,古人的智慧依然在今天闪耀着光芒,尤其是老子关于“知足不辱,知止不殆”的教诲,在指导人们如何在追求目标与保障...