大象——Thinking in UML

大象——Thinking in UML

大音希声,大象希形, 近来闲暇,随手翻起一些曾经看过的书籍,才发现又有新的收获。

面向对象

面向对象 在如今的软件行业是一个很著名的术语,以至于 人们以为面向对象是现代科学发展到一定程度才出现的研究成果

普通民众的面向对象

在很多人看来,面向过程面向对象 都是一种软件技术 ,例如 把面向过程归纳为结构化程序设计、DFD图、ER模型、UC矩阵等,而面向对象则被归纳为继承、封装、多态、复用等具体的技术

事实上,上述的所有技术都只是人们在采用不同的方法来认识和描述这个世界时所采用的工具。
他们都只是表征而不是本征。

大师眼中的面向对象

接下来让我们看看面向对象大师,也就是UML创始人之一的 Grady Booch 在2004年IBM Developer Works Live!大会的访谈中讲过的一段流传甚广的话:

我对面向对象编程的目标从来就不是复用,相反,对我来说,对象提供了一种处理复杂性问题的方式、这个问题可以追溯到亚里斯多德:你把这个世界视为过程还是对象?在面向对象兴起运动之前,编程以过程为中心,例如结构化设计方法。然而,系统已经到达了超越其处理能力的复杂性极点,有了对象,我们能够通过提升抽象级别来构建更大的、更复杂的系统——我认为,这才是面向对象编程运动的正真胜利。

  • 不知读者看完这段话后有何感想?
  • 您心目中的面向对象是这样的码?

    正如Booch所说的一样,从本质上讲 面向过程面向对象 是一个古已有之的 认识论 的问题。

    之所以面向对象会兴起,是应为这种 认识论 能够帮助我们构造更为复杂的系统来解释越来越复杂的现实世界。
    认识到这一点,我们就应该知道比掌握具体的技术更为重要的是掌握认识论所采用的方法和分析过程。
    只有掌握了方法才能自如地使用这些技术工具。
    这个世界的本质是由对象组成的,平时看上去相互无关的独立对象在不同的驱动和规则下体现出不同的运动过程,然后这些过程便展现出来我们这个生动的世界。
    在面向过程的眼中,世界的一切都不是孤立的,然相互紧密联系在一起,缺一不可,相互影响,互相作用,并形成一个具有严格因果律的小系统;
    而更多的小系统组成了更大的系统,所有的小系统之间的联系也是紧密和不可分割的。
    面向对象思想其实并不复杂,但是对于习惯了以过程方法来认识这个世界的朋友来说完全理解和接受面向对象思想却是不容易的。
    如果您真的打算学习面向对象的方法,那么恐怕您得接受这个世界时分割开来的这个事实,并且相信只有在特定的场景下,孤立对象之间进行了某些信息交换才表现出我们所看到的那样一个过程。

原文地址:https://www.cnblogs.com/herelsp/p/9196781.html

时间: 2024-11-14 12:21:16

大象——Thinking in UML的相关文章

大象:Thinking in UML(第2版)pdf

下载地址:网盘下载 内容简介  · · · · · · 大象:Thinking in UML(第二版),ISBN:9787508492346,作者:谭云杰 著 作者简介  · · · · · · 谭云杰,博客http://coffeewoo.itpub.net及http://blog.csdn.net/coffeewoo博主.资深架构师,PMP获得者,擅长于系统建模和系统分析设计,具有丰富的项目实践管理经验.曾经从事过电力.政府.航空等多个行业的管理软件开发工作和工作流中间件产品的研发工作,拥有

【UML】——为什么要使用UML

以前一提到UML,就想到了复杂的流程图.很敬佩哪些想想就能画出整个系统的UML图的人,因为他们头脑中有整个软件架构的蓝图,这样在编写实现的时候,就会知道哪个地方改怎么做,哪个地方如何扩展. 而想成为架构师,UML也是必备的技能.这里就根据<大象——Thinking in UML>总结一些学习笔记. 平时总是在说什么是面向对象,什么是面向过程. 面向过程,就是典型的C语言这种,一个main函数,从头走到脚,中间可能涉及到一些方法的调用,但是整个代码完全是流水线一样.这样就会导致一个问题,虽然代码

第二个目标:两个月并行学习设计模式、UML、ROSE

两个月并行学习设计模式.UML.ROSE: 参考资料:HEAD_FIRST设计模式(中文版).pdf.[大象Thinking.in.UML].ThinkingInUML.pdf(UML入门教程(中文版).pdf和UML其它详细教程,重点是项目中常见应用的几个图).RationalRos画图.docx 要     求:达到1 全面理解UML知识体系与项目中实际应用.设计模式撑握与项目中应用 第二个目标:两个月并行学习设计模式.UML.ROSE

java必看书籍

Java核心技术 卷1 基础知识(第9版)Java核心技术 卷II 高级特性(第9版) 数据库系统概念(原书第6版)Oracle 从入门到精通MySQL数据库应用从入门到精通 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编程必读佳作) Java网络编程(第3版)——O’Reilly Java系列 数据结构与算法分析Java语言描述 第2版深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) Java程序性能优化——让你的Java程序更快.更稳定Java加密与解密的艺术(

java学习路线及资源下载,持续整理中

java学习路线及资源下载,持续整理中 学习路线图:http://blog.csdn.net/shenzhq1980/article/details/484703371.java学习经典书籍_基础编程篇下载地址:http://blog.csdn.net/shenzhq1980/article/details/48375543书籍:Java程序设计语言.(美国)阿诺德.清晰版JAVA2核心技术第1卷.基础知识7thJAVA2核心技术卷II:高级特性7th Java语言程序设计-基础篇(原书第8版)

推荐一些C#相关的网站、资源和书籍(转)

一.网站 1.http://msdn.microsoft.com/zh-CN/ 微软的官方网站,C#程序员必去的地方.那里有API开发文档,还有各种代码.资源下载. 2.http://social.msdn.microsoft.com/Forums/zh-CN/home 微软msdn论坛.定位于微软技术的传播和技术问题的解决,是学习微软技术的好去处. 3.http://www.codeproject.com/ 国外著名的社区网站,面向世界的程序员.有很多不错的程序都可以从那里下载到. 4.htt

总会有一个是你需要的

http://www.shouce.ren/post/d/id/112300 黑客攻防实战入门与提高.pdfhttp://www.shouce.ren/post/d/id/112299 黑客入门新手特训.pdfhttp://www.shouce.ren/post/d/id/112298 黑客与设计-剖析设计之美的秘密(彩印).pdfhttp://www.shouce.ren/post/d/id/112297 鸟哥的LINUX私房菜:服务器架设篇 (第二版).pdfhttp://www.shouc

程序员书单_架构设计篇

大象(Thinking in UML) http://download.csdn.net/detail/shenzhq1980/9076189 设计模式之禅http://download.csdn.net/detail/shenzhq1980/9076185 大道至简实践者的思想 http://download.csdn.net/detail/shenzhq1980/9076105 [软件架构设计:程序员向架构师转型必备(第二版)].温昱.扫描版http://download.csdn.net/

WebView使用总结(加载HTML内容形式的String)

通过字符串拼凑的html页面显示: Java代码   public void simpleJsClick() { WebView webView = (WebView) findViewById(R.id.webview); String html = "<html>" + "<body>" + "图书封面<br>" + "<table width='200' border='1' >&q