`
duyangsss
  • 浏览: 127417 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

抽象,抽象

阅读更多

什么是对象

在上大学的时候,上C++课程,第一次接触到对象的概念。老师告诉我们对象的特征是封装,继承和多态。

也许是当然对软件了解得不是很深,并不记得有讲为什么会有面向对象语言的出现。当读到《大象》的时候,我了解到了面向对象语言解决了很多面向过程语言的一些缺点,如:扩展性差与代码的可维护性很差。其实最大的缺点就是当需求中的业务复杂的时候,面向过程语言难于设计与实现。

最近又把《大象》翻来看看,感觉书还是要多读几遍,每遍都会由于自己的知识的不断积累,获取到不同层次的信息。

翻开书的看两页,讲到面向对象的优缺点,感觉作者总结的缺点总结得实在是很好。从前做项目的时候都只是考虑,为什么会有软件的需求,有一个软件系统以后为它解决了什么问题。然后就开始对需求分析,了解用户的需求,再对需求进行面向对象的分析与设计。但是似乎我们还有很多的基本问题没有考虑。

1.需求为什么会对应对象类呢?(WHY)

2.对象是怎样实现我们的业务需求呢?(HOW)

3.这些对象之些有一些什么样的联系呢?(WHAT)

我们如果是一个程序员,拿着需求分析和软件设计,跟本没有办法将它们联系起来。而我们的软件设计人员也往往是凭着某些经验对需求进行设计,根本没有办法将这个过程像数学运算一样一步一步的推导过来。

作者对这个问题作了一个很好的解释,将需求转化为对象的关键就在于抽象 ,软件设计人员就是通过自己的多年开发和设计经验,从需求中通过抽象思维,将需求的实现抽象为一个个对象的行为组合。其实我们的社会到处都运用着抽象的方法。比如,我们在生活中的一物质交换,我们为这个领域抽象出一个概念叫经济来专门研究它。

通过软件设计人员的抽象就得到了面向对象的设计,有了面向对象的设计以后,再用面象对象的语言来实现是很容易的。但是,怎么来证明我们的软件设计是正确的呢。于是,就有人研究用什么办法可以像解决数学问题一样,通过公式的推导就能把需求映射到设计当中,这样就能保证我的设计是正确的。随着这个领域的发展,人们逐渐总结出了一堆又一堆最佳实践的方法论,通过将需求进行业务建模,分析建模,设计建模等过程,将问题承前启后的逐渐细化。最终达到我们从需求推导到对象的目标。而从业务需求->业务建模->分析建模->设计建模是一个描象而又复杂的过程,人们急切需要某种方面能够很好的表示它们的信息及相互的关联关系。于是,UML就是在这个时候顺应首时代诞生了。下面我们来讲讲什么是UML。

UML翻译为中文就是统一建模语言。既然是语言,它就会跟c,java等语言一样,有词汇,有语法。而在UML中就叫做元素和视图等概念。所以我们需要明白的是,UML的作用是表达各种模型的信息。

to be perfect

分享到:
评论

相关推荐

    C#抽象类与抽象方法

    在C#编程语言中,抽象类(abstract class)和抽象方法(abstract method)是面向对象设计中的关键概念,它们主要用于支持多态性。抽象类是一种特殊的类,它不能被实例化,只能作为其他类的基类。抽象方法则是没有...

    Java抽象类和抽象方法

    在深入探讨Java抽象类与抽象方法之前,我们首先需理解其基本概念以及它们在面向对象编程中的作用。Java作为一种广泛使用的编程语言,提供了多种机制来实现代码的复用性和灵活性,其中抽象类和抽象方法是关键特性之一...

    C__抽象类与抽象方法

    ### C# 抽象类与抽象方法详解 #### 一、引言 在面向对象编程中,抽象类和抽象方法是实现多态性的重要手段之一。C#作为一种强大的面向对象编程语言,支持抽象类和抽象方法的概念。本文将详细介绍C#中的抽象类与抽象...

    C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

    在C#编程语言中,类、接口、虚方法和抽象方法是面向对象设计的重要组成部分。这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有...

    中科大抽象代数讲义1

    中科大抽象代数讲义1 中科大抽象代数讲义1是中国科学技术大学(University of Science and Technology of China)的一门课程讲义,主要讲述抽象代数的基本概念和方法。该讲义涵盖了群论、环论、域论和 Galois 理论...

    抽象方法简单工厂

    在Java等面向对象编程语言中,我们可以利用抽象类和抽象方法来实现简单工厂模式。 首先,我们需要理解什么是抽象方法。在面向对象编程中,抽象方法是一种没有具体实现的方法,它只有声明,没有具体的操作。这样的...

    1.1:抽象方法与抽象类.pdf

    抽象类与抽象方法由abstract修饰 abstract的使用注意 抽象方法没有方法体 抽象成员只能存在于抽象类中 抽象类可以有非抽象成员(侧重族群的概念) 抽象类的子类必须实现抽象方法体 抽象类you构造函数 抽象类只能...

    抽象类和抽象方法.pdf

    在面向对象编程中,抽象类和抽象方法是重要的概念,特别是在 Delphi 这样的编程语言中。抽象类是一种特殊的类,它不用于直接创建对象,而是作为其他具体类的父类,提供一种共享接口和通用行为的方式。抽象类通常用 `...

    c#课件抽象方法和抽象类

    "C#中的抽象方法和抽象类" C#中的抽象方法和抽象类是面向对象编程的重要概念,它们可以帮助开发者设计更加灵活、可扩展和维护的软件系统。本文将详细介绍抽象方法和抽象类的概念、特征和使用场景。 一、抽象方法 ...

    抽象代数、代数学习题解

    标题:“抽象代数、代数学习题解” 描述:“该题解内容全面,为学习代数学、抽象代数的朋友们提供方便。” 从标题和描述中,我们可以提炼出以下几个关键的知识点: 1. **抽象代数简介**:抽象代数是数学的一个...

    抽象代数基础 丘维声

    《抽象代数基础》是丘维声编著的一本高等数学教材,由高等教育出版社出版,面向综合大学、理工科大学和师范院校的数学系学生,也适合学习过高等代数课程的读者和进行科研工作的数学工作者参考。书中主要内容围绕抽象...

    抽象代数.rar

    《抽象代数》是数学领域中的一个重要分支,主要研究代数结构及其性质。这份压缩包文件包含了一系列关于近世代数的课件和习题解答,是科任老师精心制作的教学资料,适合对近世代数感兴趣的学生或教师使用。以下是根据...

    Java实例化一个抽象类对象的方法教程

    在Java编程语言中,抽象类是用来作为其他类的基类,它定义了一组抽象方法,这些方法必须在子类中实现。由于抽象类自身不能被实例化,这意味着你不能使用`new`关键字直接创建一个抽象类的对象。然而,尽管不能直接...

    C# Winform抽象工厂架构

    "C# Winform抽象工厂架构"是一个基于C#语言和Windows Forms(Winform)平台,利用抽象工厂设计模式构建的多层架构项目。在这个项目中,开发者使用了抽象工厂模式来创建和管理报表查询的相关组件,同时结合了反射机制...

    Java软件开发实战 Java基础与案例开发详解 5-10 抽象和封装章节练习 共4页.pdf

    根据给定文件的信息,我们可以将重点放在第5章“抽象和封装”部分,该章节包含了对面向对象设计思想的关键理解,以及如何通过抽象和封装来提高代码的质量。 ### 5.0 抽象和封装 #### 5.1 面向过程的设计思想 面向...

    抽象编程 公开课

    抽象编程是计算机科学中的核心概念,它是一种将复杂的程序设计问题简化为更小、更易于管理的部分的方法。在“抽象编程”这门公开课中,斯坦福大学深入浅出地介绍了如何利用抽象来提高代码的可读性、可维护性和复用性...

    抽象工厂模式代码

    抽象工厂模式是软件设计模式中的一种,属于创建型模式,它的主要目的是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在实际应用中,当我们需要创建一组具有共同特性的对象,而这些对象分别...

    PPT模版~抽象1

    [千个精美PPT模版]一共包括:抽象1、抽象2、抽象3、抽象4、抽象5、抽象6、工业、混杂1、混杂2、混杂3、技术1、技术2、家庭、假日、教育、经济货币、科学、商业管理1、商业管理2、虚拟人物1、虚拟人物2、艺术音乐、...

    js抽象的文章

    在JavaScript中,抽象是一种重要的编程概念,它帮助我们简化复杂的问题,提高代码的可读性和可维护性。本文将深入探讨JavaScript中的抽象及其相关知识点。 1. **函数抽象**: 在JavaScript中,函数是实现抽象的...

    什么是抽象思维-一个简单的例子让你明白什么叫做抽象思维.doc

    "抽象思维和形象思维" 抽象思维和形象思维是两种基本的思维形态。形象思维是反映和认识世界的重要思维形式,是培养人、教育人的有力工具。在科学研究中,科学家除了使用抽象思维以外,也经常使用形象思维。在企业...

Global site tag (gtag.js) - Google Analytics