設計模式 後續慢慢補充

2021-07-22 07:08:54 字數 1394 閱讀 8204

設計模式:解決某一類問題最有效的方式

(一)單例設計模式

解決的是乙個類只有乙個物件的問題

1.建構函式私有化

2.在類中建立自身型別的物件

3.把物件提供進去,通過定義乙個public的靜態函式返回該物件

餓漢式:

private static final single s = new single();

private single(){}

public static single getinstance()

懶漢式:

private static final single s = null;

private single(){}

public static single getinstance()

(二)模板設計模式

在實現乙個功能時,功能的一部分是確定的,另一部分是不確定的,

確定的部分還會用到不確定的不部分,那麼久把不確定的部分暴露出去,

讓子類去完成。

例:計算乙個程式的執行時間

1.獲取程式的開始和結束時間是確定的,然後相減

2.被計算執行時間的程式是不確定的

class  test

}abstract class mytool

public abstract void function() //抽象方法

} class testtool extends mytool

}(三)裝飾設計模式

基於已經存在的功能,提供增強的功能

例:io流中的緩衝流

對於輸入輸出流提高效率,不可能在其每個子類下面都寫乙個為提高效率的子類

既然都是提高效率,所以就把這個功能提取出來封裝到乙個類中,誰需要被調高效率

就把誰作為引數傳遞給該類的構造方法

class bufferedreader

}裝飾設計模式的好處:

1.裝飾設計模式使原有繼承體系變簡單了

2.因為是在原有功能提高增強的功能,所以這個類還是屬於原有體系

(四)工廠設計模式

對大量實現了相同介面的類或繼承了相同父類的子類進行例項化

1.簡單工廠模式

class factory

}2.多個方法工廠模式

class factory

public b getinstance2()

}3.靜態工廠模式(常用)

class factory

public static b getinstance2()

}4.抽象工廠模式

inte***ce factory

class faca implements factory

}class facb implements factory

}

後續補充部分

後端還差很多 主要在於 1 沒有對知識進行分類和梳理 只知道複製不知道原理 感覺不是自己的 不屬於自己 不熟練 2 對框架的搭建不熟悉 不會搭建 這個問題在前端vue也有 感覺不爽 3 不開心 感覺壓抑 沒多少人說話的感覺 4 其實想重點發展後端 不太想一直寫前端 不過寫業務 都是差不多了 就是感覺...

js設計模式慢慢消化QAQ

設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。1.惰性函式 1.方式一 var fn function return div console.log fn var a fn var b fn console.log a b 2.方式二 funct...

C 常用術語(後續補充)

記憶體對齊 常量摺疊 堆疊解退 stack unwinding 模板特化 模板偏特化 模板例項化 函式物件 單一定義規則 one definition rule,odr 自引用 物件切片 object slicing 切割 當把乙個派生類物件賦給乙個基類物件時,會發生物件切割。另外用基類物件強制轉換...