C/C++与设计模式基础课程
传智扫地僧    
设计模式基础
1设计模式编程基础
1.1设计模式前言
模式
在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。
    大白话:在一定环境下,用固定套路解决问题。
设计模式(Design pattern
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于
他人于系统都是多赢的;设计模式使代码编制真正工程化;
设计模式是软件工程的基石脉络,如同大厦的结构一样。
学习设计模式的意义
提高职业素养,关注学员在行业内的长期发展。
“我眼中的设计模式”
把简单的问题复杂化(标准版),把环境中的各个部分进行抽象、归纳、解耦合。
    不是多神秘的东西,我们初学者也能学的会。要有信心。
学习设计模式的方法
    对初学者:
积累案例,大于背类图。
    初级开发人员:
多思考、多梳理,归纳总结;
尊重事物的认知规律,注意事物临界点的突破。不可浮躁。
    中级开发人员
            合适的开发环境,寻合适的设计模式,解决问题。
多应用
java单例模式懒汉和饿汉对经典组合设计模式的大量、自由的运用。要不断的追求。
       
设计模式的分类
Gang of Four的“Design Patterns: Elements of Resualbel Software”书将设计模式归纳为三大类型,共23种。
    创建型模式通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式)
    结构型模式: 描述的是如何组合类和对象以获得更大的结构。(7种模式)
行为型模式: 用来对类或对象怎样交互和怎样分配职责进行描述。(11种模式)
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式: 
1工厂方法模式Factory Method Pattern)的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
2抽象工厂模式Abstract Factory Pattern)的意图是提供一个创建一系列相关或者相互依赖的接口,而无需指定它们具体的类。