设计模式总纲

      工做了这几年,技术积累了也很多了,可是平时也没怎么将所读的记下来,一方面以为存在脑海里就行了,一方面算是工做问题,可能也是本身偷懒,不过这段时间想一想,仍是应该把本身这几年的技术沉淀给转换为文字,一方面锻炼一下本身的文字表述能力,一方面看看本身能不能把本身学的以通俗易懂的方式教授给别人,毕竟真正掌握一门技能最好的方式就是教给别人,话很少说,就先从你们都熟悉透的设计模式入手吧,设计模式虽然已经烂大街了,博客园上也一搜一大把,可是但愿本身能讲解出不一样的风采,尽可能以不一样的角度来切入设计模式这个领域,话很少说,先来讲一下为何咱们须要设计模式。设计模式

 

  设计模式本来是建筑学领域的内容,由于建筑师在建造房子时,发现建造房子不少时候都大同小异,而后抽象出了一系列的模式,固然,不是说他们提供的模式是最好的,可是套用这种模式倒是最不容易犯错的,而这套模式也被搬到了软件工程的设计上面上来,最先起源于《GOF23设计模式》的博士毕业论文,里面阐述了在软件工程中,所遇到的一系列问题,和常见得软件工程的设计场景,他们将这些场景抽象出来,整理成了23种设计模式,固然,设计模式确定不止这23种,像还有熔断设计模式、MVC设计模式、只是这23种设计模式较为外人所熟知,我随手画了张思惟导图,缓存

  

  大体将设计模式分为了3大类ui

  一、建立型设计模式  二、结构型设计模式  三、行为型设计模式设计

固然还有指导设计模式的设计原则代理

  一、单一责任原则    二、开闭原则  三、里氏替换原则  四、依赖倒置原则  五、接口隔离原则  六、最少知识原则对象

 

  首先来讲一下3大类的设计模式,对于建立型设计模式,顾名思义是产生对象的设计模式,这类设计模式主要经过必定的方法产生指定的对象,像抽象工厂、单例、Builder、Prototype,都是为了建立指定对象的模式,具体怎么建立,后期再表,剧透一下,下一章将讲到各类市面上各类单例模式,以及缓存类型的单例,可控制的多实例的“单例”。blog

  对于结构类型的设计模式,主要是该类型的模式,主要是为类提供某种特定的结构或封装,像适配器模式、桥接模式、装饰器模式,组合模式等,都是为了提供特定的某种结构所存在的,这里我想了挺久的,代理模式其实也能够划分到行为模式上去。接口

  而最后的行为模式主要是该种类的类,都有特定的动做,行为,像咱们最经常使用的命令模式、责任链模式、状态模式、调停者模式,单单从这些模式的名字咱们就能够看出,这些类都具备特定的某一些行为博客

  虽然这样的分类有些粗糙,可是咱们能够管中窥豹,大体能够看出他们最初的一些设计初衷以及大体在咱们工程上遇到的时候,选型上、设计模式的取舍上能够更好的把握。思维导图

相关文章
相关标签/搜索