一、设计模式概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzx_longyou/article/details/51636047

1.1 设计模式是什么

    设计模式:是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题解决方案
    从设计模式的定义上看,它是一种解决方案。所谓解决方案,就是解决方法,亦即是解决问题的方式或方法。但是,我们不能反过来说解决方案就是设计模式。为什么?因为,在解决方案之前,还有一些加粗的修饰定语,只有满足这些条件的解决方案才被称为设计模式。
    1. 特定问题
    限制“特定问题”,说明设计模式不是什么万能药,并不是什么问题都能解决,通常一个设计模式仅仅解决某个或某些特定的问题,它是指特定问题的解决方案。
    2. 重复出现
    只有这些特定问题“重复出现”,那么为这些问题总结解决方案才是有意义的,因为只有总结了这些问题的解决方案,当这些问题再次出现时,就可以复用这些解决方案。
    3. 特定环境
    任何问题的出现都是有场景的,不能脱离环境去讨论对问题的解决办法。
    4. 经过验证
    每个人都可以总结出一些用于解决特定环境下、重复出现的、特定问题的解决方案,但是并不是每个人总结的解决方案都算得上是设计模式,这些解决方案应该有足够的应用来验证,并得到大家的认可和公认。
    5. 软件开发
    我们要讨论的主要是软件开发中的设计模式,当然很多行业,都有自己的设计模式,比如建筑行业。

1.2 设计模式有什么

1.2.1 设计模式的组成
    模式名称:每个设计模式的名字。
    环境和文体:描述在什么场景下,出现什么样的特定问题。
    解决方案:描述如何解决这个问题。
    效果:描述模式应用的效果,以及可能带来的问题,或者使用中需要权衡的问题。
1.2.2 设计模式的分类
    创建型模式:抽象了对象的实例化过程,用来帮助创建对象的实例。
    结构型模式:描述如何组合类和对象以获得更大的结构。
    行为型模型:描述算法和对象间职责的分配。

猜你喜欢

转载自blog.csdn.net/lzx_longyou/article/details/51636047