zoukankan      html  css  js  c++  java
  • 架构师速成6.5-也谈设计模式

    回头来回想之前写的文章,发现初中阶段的内容缺了一块非常重要的内容就是设计模式。

    设计模式是程序猿的还有一个G点。不管吹牛。还是面试,还是设计都会秀一下设计模式。这也奠定了设计模式不可动摇的地位。

    我主要讲一下设计模式怎样学习,哪些虚的我就不讲了。

    1. 找2本书就能够了,大话设计模式和head first设计模式
    2. 速读2遍,对设计模式有整体的概念
    3. 整理思维导图。先把印象最深的5个列下来,用你的语言通俗易懂的给别人讲清楚,另外须要重点側重于什么场景下使用。
      • 举个样例。代理模式,怎么跟人讲呢,http://yangguangfu.iteye.com/blog/815787 看看这篇文章,非常黄非常暴力
      • 当然你还要側重一下如何用,在须要用比較通用和复杂的对象指针代替简单的指针的时候,使用 Proxy模式。以下是一些能够使用Proxy模式常见情况:
      • 远程代理(Remote  Proxy)为一个位于不同的地址空间的对象提供一个本地的代理对象。

        这个不同的地址空间能够是在同一台主机中,也但是在还有一台主机中,远程代理又叫做大使(Ambassador)

      • 虚拟代理(Virtual Proxy)依据须要创建开销非常大的对象。

        假设须要创建一个资源消耗较大的对象。先创建一个消耗相对较小的对象来表示,真实对象仅仅在须要时才会被真正创建。

      • 保护代理(Protection Proxy)控制对原始对象的訪问。保护代理用于对象应该有不同的訪问权限的时候。

         智能指引(Smart Reference)代替了简单的指针,它在訪问对象时运行一些附加操作。

      • Copy-on-Write代理:它是虚拟代理的一种。把复制(克隆)操作延迟到仅仅有在client真正须要时才运行。一般来说。对象的深克隆是一个开销较大的操作,Copy-on-Write代理能够让这个操作延迟,仅仅有对象被用到的时候才被克隆。

    4. 直到你讲的一个不懂开发的人也非常清楚的时候,開始整理下5个。

    5. 整理全然部的之后,理清全部的模式之间的联系和差别。比如
      • 适配器Adapter 为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体同样的接口。然而,用于訪问保护的代理可能会拒绝运行实体会运行的操作,因此。它的接口实际上可能仅仅是实体接口的一个子集。

      • 装饰器模式Decorator:虽然Decorator的实现部分与代理相似。但Decorator的目的不一样。

        Decorator为对象加入一个或多个功能,而代理则控制对对象的訪问。

    6. 整理到1个思维导图上,做到仅仅要看到这份思维导图。你就能讲出全部。

    7. 试着又一次画这副思维导图,多画几次,直到你非常easy的就能画出。
    8. 尝试用代码描写叙述你日常见到的全部能够使用设计模式的地方,每天做1个样例。

    ok 不出半个月你已经是设计模式高手了。请让我膜拜一下奥。

  • 相关阅读:
    高阶篇:1.2)材料和工艺的选择
    高阶篇:4.1.1)QFDI(客户需求转换为设计要求)
    高阶篇:4)可靠性设计-总章
    高阶篇:1.5)如何选择更好的概念-Pugh矩阵法
    知识点篇:2)产品结构设计目标的分类
    高阶篇:1.1)竞品(标杆产品)的拆解和分析benchmarking
    支持向量机
    机器学习概述
    HDU_oj_2055 An easy problem
    HDU_oj_2054 A==B ?
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6726038.html
Copyright © 2011-2022 走看看