正在加载图片...
面向对象软件工程实践指南 指的是一个类实现接口(可以是多个)的功能:实现是类与接口之间最常见的关系。 1.4.6面向对象的优点 面向对象技术提供了更好的抽象能力和更多的软件开发方法和工具,能够使用各种不 同的设计模式来解决具体问题。而且,在软件实现层面上看,面向对象技术极大地提高了代 码复用,提高了代码的可扩展性,便于软件的维护。 面向对象技术中,对象是整个技术的核心。而整个软件系统,是真实世界的一种抽象。 这种抽象,是由描述状态的数据,以及描述动作的方法的整体封装。不同的对象之间可以相 互传递消息,类似于现实世界中不同事物之间的交流和联系。因为面向对象理念中,建立起 来的模型是对真实世界的反映,所以开发者可以更多地站在真实世界一一软件应用领域的角 度去看待问题,而不需要把应用领域的问题转化为计算机的角度来考虑。这样的思考方法无 疑更加接近于人的传统思维方式,对于问题的考虑也将更加完善。 传统的软件开发方法是“瀑布”模型的,强调自顶向下完成软件开发过程。然而事实 上,人们对于问题的认识是一个渐进的过程。通过不断地深化对问题的理解,人们的思维经 历了从特殊到一般的归纳,也经历了从一般到特殊的演绎,这都是在第一次分析问题时所难 以达到的。人们在认识复杂的问题时,运用最多的方式是抽象,即忽略不关注的方面,而重 点分析处理关注的方面,这与面向对象的思想是一致的。 通过面向对象技术建立起来的模型,可以随着开发者对于问题理解的深入而进行完善 和修改。由于类与类之间是相对独立的,因此不会出现牵一发而动全身的情况。当系统的功 能需求改变时,软件的结构不会出现大的变化,一般情况下只需要进行简单的修改和调整。 因为对象是对真实世界的反映,而真实世界的结构是相对稳定的,因而以面向对象技术构建 出的系统结构也是比较稳定的。 在传统的工业界,用己有的零件来装配新的产品是非常普遍的情况。实际上,新的产 品并不是全新的,仅仅是部分零件做了更新而己。软件开发同样是如此,一个新的软件并不 需要完全重写所有的代码。这种时候,代码复用就可以很大程度地提高生产效率。在传统的 软件工程中,代码的复用是利用标准函数库实现的。但是标准函数库很难适应不同的应用场 合和不同的需求,因而这种复用是很基本的。函数库仅仅能提供最为基础的功能,在一个软 件系统中,绝大多数函数都需由开发者重新编写。然而,面向对象的开发方法在构建软件系 统时,可以通过派生已有的类来实现代码的复用。子类不仅继承了父类的数据和方法,还可 以很方便地进行扩充和修改。可以这么说,在面向对象软件开发中,对象是一个个的细胞, 有自己独立的结构,功能和用途。开发大型软件的过程就是对小“细胞”进行组合的过程。 这样就把大型的软件系统拆分成了相对独立的小“模块”,从而大大降低了开发的难度和管 理的复杂度。 基于面向对象技术开发的软件由于稳定性比较好,当出现需求变更时软件也比较容易 修改,因而软件的维护难度也大大降低了。 传统的软件难于维护,一个重要的原因是整个系统难于理解。尤其是对于比较庞大的 系统,需要修改的部分经常比较分散,而人们又很难了解整个软件的全部内容。面向对象符 13面向对象软件工程实践指南 13 指的是一个类实现接口(可以是多个)的功能;实现是类与接口之间最常见的关系。 1.4.6 面向对象的优点 面向对象技术提供了更好的抽象能力和更多的软件开发方法和工具,能够使用各种不 同的设计模式来解决具体问题。而且,在软件实现层面上看,面向对象技术极大地提高了代 码复用,提高了代码的可扩展性,便于软件的维护。 面向对象技术中,对象是整个技术的核心。而整个软件系统,是真实世界的一种抽象。 这种抽象,是由描述状态的数据,以及描述动作的方法的整体封装。不同的对象之间可以相 互传递消息,类似于现实世界中不同事物之间的交流和联系。因为面向对象理念中,建立起 来的模型是对真实世界的反映,所以开发者可以更多地站在真实世界——软件应用领域的角 度去看待问题,而不需要把应用领域的问题转化为计算机的角度来考虑。这样的思考方法无 疑更加接近于人的传统思维方式,对于问题的考虑也将更加完善。 传统的软件开发方法是“瀑布”模型的,强调自顶向下完成软件开发过程。然而事实 上,人们对于问题的认识是一个渐进的过程。通过不断地深化对问题的理解,人们的思维经 历了从特殊到一般的归纳,也经历了从一般到特殊的演绎,这都是在第一次分析问题时所难 以达到的。人们在认识复杂的问题时,运用最多的方式是抽象,即忽略不关注的方面,而重 点分析处理关注的方面,这与面向对象的思想是一致的。 通过面向对象技术建立起来的模型,可以随着开发者对于问题理解的深入而进行完善 和修改。由于类与类之间是相对独立的,因此不会出现牵一发而动全身的情况。当系统的功 能需求改变时,软件的结构不会出现大的变化,一般情况下只需要进行简单的修改和调整。 因为对象是对真实世界的反映,而真实世界的结构是相对稳定的,因而以面向对象技术构建 出的系统结构也是比较稳定的。 在传统的工业界,用已有的零件来装配新的产品是非常普遍的情况。实际上,新的产 品并不是全新的,仅仅是部分零件做了更新而已。软件开发同样是如此,一个新的软件并不 需要完全重写所有的代码。这种时候,代码复用就可以很大程度地提高生产效率。在传统的 软件工程中,代码的复用是利用标准函数库实现的。但是标准函数库很难适应不同的应用场 合和不同的需求,因而这种复用是很基本的。函数库仅仅能提供最为基础的功能,在一个软 件系统中,绝大多数函数都需由开发者重新编写。然而,面向对象的开发方法在构建软件系 统时,可以通过派生已有的类来实现代码的复用。子类不仅继承了父类的数据和方法,还可 以很方便地进行扩充和修改。可以这么说,在面向对象软件开发中,对象是一个个的细胞, 有自己独立的结构,功能和用途。开发大型软件的过程就是对小“细胞”进行组合的过程。 这样就把大型的软件系统拆分成了相对独立的小“模块”,从而大大降低了开发的难度和管 理的复杂度。 基于面向对象技术开发的软件由于稳定性比较好,当出现需求变更时软件也比较容易 修改,因而软件的维护难度也大大降低了。 传统的软件难于维护,一个重要的原因是整个系统难于理解。尤其是对于比较庞大的 系统,需要修改的部分经常比较分散,而人们又很难了解整个软件的全部内容。面向对象符
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有