SOLID 五大设计原则

11 篇文章 0 订阅
2 篇文章 0 订阅

SOLID 五大设计原则

1. SRP 单一职责原则(The Single Responsibility Principle)

  • 一个程序只做好一件事
  • 如果功能过于复杂就开分开,每个部分保持独立

2. OCP 开放封闭原则(The Open Closed Principle)

  • 对拓展开放,对修改封闭
  • 增加需求时,拓展新代码,而非修改已有代码
  • 软件设计的终极目标

3. LSP 里氏置换原则(The Liskov Substitution Principle)

  • 子类能覆盖父类
  • 父类能出现的地方子类就能出现
  • JS 中使用较少(弱类型&继承使用较少)

4. ISP 接口独立原则(The Interface Segregation Principle)

  • 保持接口的单一独立,避免出现“胖接口”
  • JS 中没有接口(typescript 除外), 使用较少
  • 类似于单一职责原则,这里更关注接口

5. DIP 依赖倒置原则(The Dependency Inversion Principle)

  • 保持接口的单一独立,避免出现“胖接口”
  • JS 中没有接口(typescript 除外), 使用较少
  • 类似于单一职责原则,这里更关注接口

promise 说明 SO

  • S:每个then中的逻辑只做一件事

  • O:如果要新增需求,扩展then

    function loadImg(src) {
      let promise = new Promise(function(resolve, reject) {
        let img = document.createElement('img')
        img.onload = function() {
          resolve(img)
        }
        img.onerror = function() {
          reject('图片加载失败')
        }
        img.src = src
      })
      return promise
    }
    
    let src = '//img.mukewang.com/5bc45ce20001976409360316.jpg'
    let result = loadImg(src)
    
    result
      .then(function(img) {
        alert(`width:${img.width}`)
      })
      .then(function(img) {
        alert(`height:${img.height}`)
      })
      .catch(function(ex) {
        alert(ex)
      })
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值