一本书主要内容
@为什么要学这本书
这本书讲得内容是UML和模式的应用,这本书和任何一本书一样,只是工具,通过工具的学习,了解其背后的思想,本书想你传达的是对象思想,学习和锻炼对象思想,是进行所有其他事物的前提,我们怎么到达呢,想老子的大道一样,也是有一个分析和领悟的过程,这本工具书也就是帮你完成这样的过程,祝你成功吧。
@UML对象思想
UML是一种标准的建模工具,我们前提是有了对象思想,有了思想我们要表达,我们当然要通过标准的工具表达,所以常用的UML表示法和使用方法,我们还是要求必备的,不为别的,不是为了工具学习而学习,我们一切的核心就是你脑海中的对象思想,所以请记住对象思想,对象思想,对象思想,核心是对象思想,一切的中心就是核心思想,对象思想就是众妙之门!啊,对象思想就是道,属于我们程序员的道。
@OOD的原则和模式
原则和模式都是语言上表达的不同方式,背后的思想是一样的,说俗话一点就是一些参考意见一些参考的标准一些参考的经验,当然我表达本身有局限性在里面。我们只能这么去理解,剩下的靠你自己悟性吧,因为不能在通俗了。
所以叫原则也好叫模式也好,都是对于"道"的不同表象,我们的关注不在于此。
如何为对象分配职责?各个对象之间该如何的协作?什么样的类该做什么样的事情?这些都是系统设计中的关键问题,本书要讲授的是作为经典OO设计之象征的职责驱动设计。同时,某些这对设计问题的,经过反复验证的解决方案,可被表示为最佳的实践的原则、启示或者模式,及问题-解决方案公式,这些公式是系统化的、典范的设计原则。本书将会通过讲授如何应用这些模式或这原则,是读者更快的学习熟练使用这些基本的对象设计习惯用法。
@案例研究
本书对OOA/D的介绍是通过一些贯穿全书的案例研究来阐述,并且充分深入到分析和设计中,考虑和解决了显示问题中令人生畏但必须面对解决的细节。
@用例
OOD(以及所有的软件设计)与作为先决活动的需求分析具有紧密的联系,而在需求分析中也通常包含了用例的编写,因此,尽管这些主题并非是特定于面向对象的,但也会在案例研究中对其进行介绍。
@迭代开发、敏捷建模和敏捷UP
假设从需求到实现会涉及众多可能,那么开发人员应该如何进行下去呢?需求和分析和OOA/D需要在某种开发过程的语境中进行描述和实践。在这种开发过程中,使用著名的统一过程和敏捷方法作为开发过程的样例,并在这一过程中介绍需求分析和OOA/D的主题,然而这些分析和设计的主题都是通用的,并不会因为过程的不同而变化,记住这点。
@其他重要技能
本书只是一个侧面,并不是软件大全,其主旨是对OOA/D、UML和迭代开发进行介绍,同时会涉及相关主题。构建软件还包括其他的技能和步骤。例如可用性工程、用户界面设计和数据库设计等都是成功的关键,所以不要做井底之蛙从一个侧面看软件,软件我们可以看很多侧面,设计和分析,架构和可行性,这些都是我们要去学习的,每个侧面有不同的高度,我们虽然不能够全面做到,但是至少要明白这样的一个道理。
二、明确我们学习本书,最重要的目标
在OO开发中,至关重要的能力是熟练的为软件对象分配职责,这是最重要的目标,在本书中我们会介绍OOA/D中大量的活动和制品以及大量的原则和指导思想,但是记住这些都是以什么为核心的,记住我们的目标就好,记住我们的大道-对象思想<熟练的为软件对象分配职责>.
本书总结了9个侧面,提供了我们学习的过程。
三、什么是分析和设计
记住简要的两句话,分析是做正确的事情,设计是正确的做事。所以分析是对问题领域的调查研究,正确的发现问题,例如应该如何使用?他有什么样的功能?等等。分析一词范围很广,我们要知道是需求分析还是面向对象分析。
设计某种意义上是可以理解为解决方案,而不是其实现。很多人吧设计等同于了实现,更为精确的说应该是解决方案。设计思想通常排斥底层的细节,但是实现正是有这些细节来构成的,实现表述了其设计思想。
四、什么是面向对象分析和设计
面向对象首先来说是一种思维模式,至于是谁提出的?是维特斯根坦提出的?我们不去关心这个,我们更在乎是这种抽象思维符合我们人类的认知世界的到目前位置最好的方式。
在面向对象分析中,强调的是在问题领域中发现和描述对象(某一个侧面你可以理解为概念)。
在面向对象设计中,强调的是定义软件对象以及他们如何协作以实现需求。
完成了分析和设计,最后我们就可以用特定的语言例如JAVA来完成设计上的思想一实现需求。
五、总结
我们程序员要做的就是利用面向对象思想,把问题域的客观世界利用面向对象思想映射到计算机世界,每个世界当然表现的形式有所不同,但是背后的逻辑形式是一致的,所以我们要对客观世界进行反思,反思背后的逻辑,然后将这种逻辑用计算机世界的具象表现出来,怎么做到和发现背后的共有的逻辑形式呢?利用面向对象思想吧。如果非要再进一步钻到面向对象思想里面去,想知道是怎么一回事,我估计你可以把维特斯根坦的逻辑哲学论好好研究研究了,但这不是我们的重点,既然前人已经得出了非常宝贵的经验并且走总结成了原则和模式,我们为什么不能复用呢?这些低层次的东西我们可以复用,要不然我们要做得事情太多了,我们只能在有限的时间呢作出做大效果的事情!一个人想精通所有,不可能,并且你也做不到!所以团队的力量也就被我们再次强调起来,这背后的思想我们是不是要懂呢。
抱着什么是面向对象、如何做到面向对象的疑问来学习前人已经给我们总结好的原则、模式和方法,来去理解和感悟吧,祝你旅途愉快!
分享到:
相关推荐
面向对象分析和设计的第2章 面向对象分析前沿
面向对象方法原理与实践/面向对象分析和设计/UML和模式应用 主要参考书 [1] 面向对象方法原理与实践,lan Graham著,袁兆山等译,机械工业出版社,20 03。 [2]面向对象分析和设计,清华大学出版社。 [3]面向对象技术...
面向对象分析和设计是软件开发领域中的一种重要方法论,主要应用于复杂系统的建模和实现。这种方法论基于对象的概念,将现实世界的问题转化为计算机可处理的模型,从而提高软件的可理解和可维护性。 面向对象的基本...
面向对象分析和设计是软件开发中的重要阶段,它基于面向对象编程的概念,旨在理解和建模现实世界的问题,以便创建能够有效解决这些问题的软件系统。在本文中,我们将深入探讨面向对象建模及其在C语言环境下的应用。 ...
企业人事管理系统面向对象分析和设计.doc
《面向对象分析和设计》图书管理系统是一份深入探讨如何使用面向对象方法进行系统开发的文档。这份实验报告详细阐述了从需求分析到系统设计的全过程,以图书馆图书管理系统为例,展示了面向对象编程在实际项目中的...
9.34_面向对象分析和设计 symbian c++学习
面向对象分析和设计是软件开发中的重要阶段,它基于对现实世界的抽象,通过类和对象的概念来构建系统模型。在C++这样的面向对象编程语言中,面向对象的思想被广泛运用。以下是对标题和描述中所述知识点的详细说明: ...
面向对象分析和设计是软件开发中的重要阶段,它基于面向对象编程的概念,旨在理解和建模现实世界的问题,以便创建能够有效解决这些问题的软件系统。在本文中,我们将深入探讨面向对象建模的基本概念、目的以及常用的...
8. **UML(统一建模语言)**:UML是面向对象分析和设计的主要工具,包括类图、对象图、序列图、协作图等,用于可视化地表示系统结构和动态行为。 9. **需求分析**:在面向对象分析中,需要识别关键实体、业务规则和...
由于提供的文件内容不包含实际的文本信息,而是重复的URL链接,因此无法从该部分提供有关面向对象分析与设计(OOAD)的知识点。但是,我将尽可能详细地介绍面向对象分析与设计的相关知识点,以满足您的需求。 面向...
面向对象分析与设计是一种软件开发方法,它强调通过识别和构建对象来组织和定义软件系统的结构和行为。这种方法不仅能够提高软件的可维护性和可扩展性,还能显著提升开发效率。本书详细介绍了OOAD的基本原理和技术,...
本资源“深入浅出面向对象分析与设计中文版”旨在以易懂的方式引导读者理解和应用面向对象的思想。 面向对象编程(Object-Oriented Programming,OOP)是一种基于对象的编程范式,它以对象为中心,通过封装、继承和...
面向对象分析与设计是软件工程领域的一个重要分支,它强调以对象作为基本单元来构建软件系统,从而使得软件具有更好的模块化、复用性和可维护性。在软件开发的实践中,面向对象的思想和技术已成为主流。Grady Booch...
面向对象分析(OOA)和面向对象设计(OOD)是软件工程中构建信息系统的常见方法,强调用面向对象编程语言在软件开发中构建模块化和可重用的代码。以下是关于该主题的知识点: 1. 面向对象的基本概念:面向对象编程...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...