前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式一览

设计模式一览

作者头像
RobinsonZhang
发布2018-08-28 13:03:40
2530
发布2018-08-28 13:03:40
举报

设计模式概念解读

  • 文字解读 反复利用,分类和无数实战之后的总结。使用设计模式是为了让系统可重用,可拓展,可可解偶,更容易被理解。它能让代码真正的工程化,是项目工程化的基础。
  • 拟物化解读 基于不同的用途设计不同的物件,区分开来分类进行细分使用。

发展与应用

  • 设计模式发展 每种语言都可以解释并拥有设计模式,如果你是js开发者,建议学下js权威指南和js高级程序设计。
  • Js中的设计模式 它的语言特别灵活,最近出现了各种js可以实现的设计模式。

设计原则

设计本身是为了提高代码可利用性,增加可维护性,符合以下的原则:

  • 开闭原则:对拓展开放,对修改关闭,比如高考的试卷临近高考不能修改试卷,只能增加附加题
  • 里氏转换原则:子类继承父类,单独调完全可以执行,比如盗版的光盘,由正版光盘衍生而来,可以和正版光盘一样被播放。
  • 依赖倒转原则:引用一个对象,如果这个对象有底层对象,直接引用底层对象,比如可以直接用小桶打水,就没必要引用大桶向大桶灌水再用大桶。
  • 接口隔离原则:每一个接口都应该有自己的角色,比如usb接口只能实现usb接口的功能不可能实现hdmi接口功能。
  • 合成以及聚合复用的原则:新的对象使用了一些原有对象的属性或者方法,应该使其成为对象的一部分,比如你已经有一些汽车的基本零件,可以再加一些零件构成汽车,不用完全买新车。
  • 迪米特原则(最小知识原则):一个对象应该尽量对其他对象有较少的了解。比如汽车对自行车的了解应该是很少的,如果对自行车的类型以及属性相差很少,就会脱离汽车本身的特性。

设计模式分类

创建型设计模式

  • 简单工厂模式
  • 工厂方法模式
  • 抽象工厂模式
  • 建造者模式
  • 原型模式
  • 单例模式

结构型设计模式

  • 套餐服务-外观模式
  • 水管弯弯-适配器模式
  • 牛郎织女-代理模式
  • 房子装修-装饰者模式
  • 城市间的道路-桥接模式
  • 超值午餐-组合模式
  • 城市公交车-享元模式

行为型设计模式

  • 模板方法模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 职责链模式
  • 命令模式
  • 访问者模式
  • 中介者模式
  • 备忘录模式
  • 迭代器模式
  • 解释器模式

技巧型设计模式

  • 链模式
  • 委托模式
  • 数据访问对象模式
  • 节流模式
  • 简单模板方式
  • 惰性模式
  • 参与者模式
  • 等待者模式

架构型设计

  • 同步模块模式
  • 异步模块模式
  • widget模式
  • mvc模式
  • mvp模式
  • mvvm模式

参考资料

  • 本文档参考《极客学院》部分视频资料以及张容铭《js设计模式》
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-272,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设计模式概念解读
  • 发展与应用
  • 设计原则
  • 设计模式分类
    • 创建型设计模式
      • 结构型设计模式
        • 行为型设计模式
          • 技巧型设计模式
            • 架构型设计
            • 参考资料
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档