C++设计模式基础教程解读.docx

  1. 1、本文档共205页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C设计模式基础教程解读

C/C++与设计模式基础课程 设计模式基础 1设计模式编程基础 1.1设计模式前言 模式 在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。 大白话:在一定环境下,用固定套路解决问题。 设计模式(Design pattern) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化; 设计模式是软件工程的基石脉络,如同大厦的结构一样。 学习设计模式的意义 提高职业素养,关注学员在行业内的长期发展。 “我眼中的设计模式” 把简单的问题复杂化(标准化),把环境中的各个部分进行抽象、归纳、解耦合。 不是多神秘的东西,我们初学者也能学的会。要有信心。 学习设计模式的方法 对初学者: 积累案例,大于背类图。 初级开发人员: 多思考、多梳理,归纳总结; 尊重事物的认知规律,注意事物临界点的突破。不可浮躁。 中级开发人员 合适的开发环境,寻找合适的设计模式,解决问题。 多应用 对经典组合设计模式的大量、自由的运用。要不断的追求。 设计模式的分类 Gang of Four的“Design Patterns: Elements of Resualbel Software”书将设计模式归纳为三大类型,共23种。 创建型模式 : 通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式) 结构型模式: 描述的是如何组合类和对象以获得更大的结构。(共7种模式) 行为型模式: 用来对类或对象怎样交互和怎样分配职责进行描述。(共11种模式) 创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:? 1,工厂方法模式(Factory?Method?Pattern)的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 2,抽象工厂模式(Abstract?Factory?Pattern)的意图是提供一个创建一系列相关或者相互依赖的接口,而无需指定它们具体的类。 3,建造者模式(Builder?Pattern)的意图是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 4,原型模式(Prototype?Pattern)是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 5,单例模式(Singleton?Pattern)是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 ? 结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式: 6,代理模式(Proxy?Pattern)就是为其他对象提供一种代理以控制对这个对象的访问。 7,装饰者模式(Decorator?Pattern)动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生成子类更为灵活。? 8,适配器模式(Adapter?Pattern)是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。? ?9,桥接模式(Bridge?Pattern)是将抽象部分与实际部分分离,使它们都可以独立的变化。 10,组合模式(Composite?Pattern)是将对象组合成树形结构以表示“部分--整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。 11,外观模式(Facade?Pattern)是为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 12,享元模式(Flyweight?Pattern)是以共享的方式高效的支持大量的细粒度的对象。 ? 行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式: 13,模板方法模式(Template?Method?Pattern)使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。? 14,命令模式(Command?Pattern)是将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 15,责任链模式(Chain?of?Responsibility?Pattern),在该模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。? ?16,策略模式(Strategy?Pattern)就是准备一组算法,并将每一个算法封装起来,使得它们可以互换。 17,中介者模式(Mediator?Pattern)就是定义一个中介对象来封装系列对象之间

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档