为什么使用设计模式

来源:互联网 发布:淘宝欧时力有正品吗 编辑:程序博客网 时间:2024/06/06 17:21
      面向对象的语言的产生,使软件的开发效率得到大幅提升,开发成本和开发难度得到大幅降低,同时软件的质量也在不断提升。然而,面向对象的特点就是抽象、继承、多态,因此评判面向对象的软件的一个很重要的标准就是可重用性。一个可重用的软件就需要有一个可重用的良好的设计。
      良好的设计需要具有丰富经验的设计者,不断积累经验,而这些良好的设计同时也是无数数不清的丰富经验的设计者设计并不断改良优化的。这些经过无数开发人员筛选最后留下来的就是我们可以安心重用的设计,即模式。然而他不是简简单单等同于模式,只要你的设计可以很方便的重用,并给广大的开发人员使用,你的设计也可以成为模式,我们学习模式的目的不仅仅是利用这些模式做重用且设计良好的软件,而是要从中的到灵感,用新的模式来弥补软件中现有模式不能完成的软件设计,优化重用软件

什么是设计模式?

亚历山大说,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心。这样你就能一次一次使用该方案而不必做重复劳动。亚历山大所指的是工程学上的建筑模式,但他的思想也同样适用于计算机科学中的软件工程理论,如果我们用接口和对象来代替门窗和墙壁,核心依然是提供了相关问题的阐述和解决方案。

每一个模式都是一个诞生的生命体,是客观存在的“物质”。所以

1)他具有一个可以描述该模式的问题、解决方案和效果的词汇——模式词汇。设计模式允许我们在较高的抽象层上进行设计,基于模式名称我们可以更方便的使用模式,与同事进行设计上的交流。

2)他描述了在何时使用模式,解释了设计问题和问题存在的前因后果——问题。他可能描述了特定的设计问题,也可能描述某个抽象领域的设计问题,也可能描述了设计不灵活的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列的先决条件。

3)他描述了设计的组成部分,以及他们之间的相互关系、各自的职责和合作方式——解决方案

4)他描述了使用模式的效果及使用模式应该权衡的问题——效果

这也就是我们说所的模式四要素

    模式是抽象的、封装的、可重用的。因此我们描述模式自然而然的会使用面向对象的变成语言 。

0 0