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

抽象,抽象

阅读更多

什么是对象

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

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

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

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

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

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

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

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

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

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

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

to be perfect

分享到:
评论

相关推荐

    C#抽象类与抽象方法

    “抽象类允许(但不要求)抽象类包含抽象成员”。但是一个抽象类里不写抽象方法就没有意义了,既然如此,还不如直接写个普通类? 在一个抽象类里可以不声明抽象方法,这在语法上是没问题的,但实际来说,这样是没有...

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

    (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,...

    Java抽象类和抽象方法

    Java抽象类和抽象方法

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

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

    PPT模版~抽象1

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

    抽象工厂模式uml类图

    java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式

    抽象工厂设计模式抽象工厂设计模式

    抽象工厂设计模式抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式

    IOS 设计模式抽象工厂实例Demo

    IOS 设计模式抽象工厂实例Demo IOS 设计 模式 抽象 工厂

    C__抽象类与抽象方法

    讲述C抽象类与抽象方法的区别,并通过举例详细说明各自的差别

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

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

    抽象方法简单工厂

    通过抽象类中的抽象方法实现简单工厂模式。

    ppt模板~ 抽象3

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

    抽象类和抽象方法.pdf

    抽象类和抽象方法.pdf

    c++抽象类继承

    一个student类,lectureTeatre类,继承抽象module类,通过继承来实现接口

    详细解析Java中抽象类和接口的区别

    抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    实现抽象类求面积方法

    窗体应用程序。一个抽象类几何形状包含抽象求面积方法,三个继承类圆、矩形、三角形实现抽象类求面积方法。

    dot Net中抽象类与接口的区别

    • 都是面向抽象编程的技术基础,实现了诸多的设计模式。 3.2 不同点 • 接口支持多继承;抽象类不能实现多继承。 • 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。 ...

    抽象代数基础 丘维声.pdf

    抽象代数基础 丘维声.pdf

    js抽象的文章

    有关js的抽象文章介绍,很全面。 里面包含了有关js抽象的全部介绍。

Global site tag (gtag.js) - Google Analytics