设计模式之概述

来源:互联网 发布:win10图片预览软件 编辑:程序博客网 时间:2024/05/22 23:17
学习设计模式之前我们首先了解下设计模式是什么,我们为什么要学习设计模式。知道这些后,我们要考虑如何学习设计模式,等这些问题都清晰后再开始学习设计模式,一定会很高效。
    1、设计模式是什么?
    定义:模式是在某情景下,针对某问题的某种解决方案。
上述定义包括了三个部分,情景:应用的情况;问题:该情景下达到的目标和约束;解决方案:通用的设计,用来解决约束、达到目的。但是请记住,并不是具有这三点一定就是设计模式,作为一个设计模式的情景必须在以后的生活工作中经常遇到,并通过解决调整解决方案即可的模式才能称其为设计模式。
    设计模式的特征:只能被发现不能被发明、三次规则。
    分类:
        创建型:涉及到将对象实例化,这类模式提供一个方法,将客户从所需实例化的对象中解耦。比如工厂方法、单件模式等。
        行为型:涉及到类和对象如何交互及分配职责。比如观察者模式等。
        结构型:把类或对象组合到更大的结构中。
        
        类模式:描述类之间的关系如何通过继承定义。关系在编译时建立。
        对象模式:描述对象之间的关系,而且主要是利用组合定义。关系在运行时建立。

    2、为什么要学习设计模式?
设计模式是前人解决问题的正确经验,学习这些经验可以避免你在相同的问题上走弯路。(你可能也有其它的想法,写下来,告诉自己,设计模式对你是有帮助的,如共享词汇,便于沟通...等。)

    3、如何学习设计模式?
首先介绍下学习资源:
《head first 设计模式》、《设计模式:可复用面向对象软件的基础》(四人组)
http://c2.com/cgi/wiki?WelcomeVisitors
http://hillside.net/
其次我们需要在以下几个方面掌握设计模式,名称、解决的问题,应用的场景,设计的意图,使用的设计原则,属于哪个类别。
最后我们就是要在工作用使用和发现设计模式,逐渐的明白哪里该用设计模式哪里只需要简单的设计就可以了。
原创粉丝点击