日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

志宇-设计模式

發(fā)布時間:2024/3/26 asp.net 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 志宇-设计模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

設(shè)計模式

  • 源碼
  • 七個設(shè)計原則
    • 一、單一職責(zé)原則
    • 二、里氏替換原則
    • 三、依賴倒置原則
    • 四、接口隔離原則
    • 五、迪米特法則
    • 六、開閉原則(最核心)
    • 七、合成復(fù)用原則
  • 一、設(shè)計模式的分類
    • 狀態(tài)模式
      • 場景
      • 設(shè)計方案

源碼

七個設(shè)計原則

一、單一職責(zé)原則

思想
一個類 作一類事情 (不然高內(nèi)聚)

二、里氏替換原則

思想
盡量不要重寫父類中已經(jīng)存在的方法

三、依賴倒置原則

思想
將一個對象(類)傳入到另一個類中,要通過這個類的接口或者抽象進(jìn)行接收(當(dāng)添加一個功能時直接再寫一個接口實現(xiàn)類傳入即可)
代碼

//違反依賴倒置原則 public void fun(Persion persion){ } //正確寫法 public void fun(PersionInterface persion){ }

四、接口隔離原則

思想
實現(xiàn)接口,要求實現(xiàn)的方法都有用,不要實現(xiàn)多余的方法 (將接口拆分,然后分別實現(xiàn))

五、迪米特法則

與本類為朋友關(guān)系的類為:
1.本類成員變量
2.本類方法中傳入?yún)?shù)
3.本類方法中返回參數(shù)
思想
如果在本類中出現(xiàn)非朋友關(guān)系的類,那么就違反了迪米特法則
(相當(dāng)于 將不是本類的代碼寫在了本類中,目的不要將自己的代碼暴漏給別的類)

六、開閉原則(最核心)

思想
當(dāng)開發(fā)好框架,當(dāng)有新需求時 只用寫幾個實現(xiàn)類即可完成需求(通過擴展實現(xiàn)需求)
代碼

//如果想多加一種人創(chuàng)建一個類繼承ManPersion 即可 public void say(persionInterface persion){persion.say(); } public class ManPersion implements persionInterface {abstract say(); } public class MinManPersion extends ManPersion {void say(){} } public class MaxManPersion extends ManPersion {void say(){} }

七、合成復(fù)用原則

思想
盡量使用組合/聚合,少用繼承 (因java單繼承,繼承后擴展性降低)
替換繼承的方法
1.通過子類的構(gòu)造方法將父類對象傳遞給子類
2.通過子類的set方法將父類對象傳遞給子類
3.在子類中創(chuàng)建父類對象,然后子類調(diào)用父類中的方法

一、設(shè)計模式的分類

總體來說設(shè)計模式分為三大類:
創(chuàng)建型模式(創(chuàng)建對象上使用的模型),共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結(jié)構(gòu)型模式(代碼結(jié)構(gòu)的模型),共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式(方法的模型),共十一種:策略模式、模板方法模式、觀察者模式、迭代器模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式。

狀態(tài)模式

簡單來說:就是根據(jù)不同狀態(tài)(參數(shù)),會有不同的行為(方法)
從而減少 if else 的使用

場景

有一個借貸平臺,它要給別人貸款
貸款有一系列流程,在每個流程都有不同的狀態(tài)(生成訂單、審核、發(fā)布、代付款、付款、已付款、完結(jié)) 這時候就要用到狀態(tài)模式的思想了,不然寫的代碼會很亂同時不方便維護(hù)

設(shè)計方案

總結(jié)

以上是生活随笔為你收集整理的志宇-设计模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。