設計模式:解決某一類問題最有效的方式
(一)單例設計模式
解決的是乙個類只有乙個物件的問題
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 切割 當把乙個派生類物件賦給乙個基類物件時,會發生物件切割。另外用基類物件強制轉換...