什么是面向?qū)ο?/h3>
把存儲的數(shù)據(jù)結(jié)構(gòu)化口注,結(jié)構(gòu)化后就變得抽象,簡單
面向?qū)ο蟮姆椒ㄖ饕前咽挛锝o對象化君珠,包括其屬性和行為寝志。
面向?qū)ο缶幊谈N近實際生活的思想〔咛恚總體來說面向?qū)ο蟮牡讓舆€是面向過程材部,
面向過程抽象成類,然后封裝唯竹,方便使用就是面向?qū)ο螅ㄈf物皆對象)
面向?qū)ο蟮娜髮傩蕴卣?/h3>
- 繼承 子類繼承父類 (類的公共方法都抽離出來乐导,讓一些方法繼承他,減少代碼的long余,增加代碼的復(fù)用)
- 封裝 (通過一些特性把屬性變成私有的浸颓,但jsES6中還沒有語法支持物臂,暫時了解)
- 多肽 (一個接口能實現(xiàn)多個功能,應(yīng)用比較少)
UML類圖
圖是一列多行 類圖产上、屬性棵磷、方法
第一行表示 類的名稱;第二行表示類的屬性蒂秘;第三行表示類的方法
UML的關(guān)系泛化與關(guān)聯(lián)(繼承與引用)
學(xué)習(xí)設(shè)計設(shè)計模式泽本,需要繼續(xù)畫UML類圖
設(shè)計原則
什么是設(shè)計
- 按照一種思路或標(biāo)準(zhǔn)來實現(xiàn)功能
- 功能相同淘太,可以有不同的設(shè)計方案來實現(xiàn)
- 伴隨著需求增加姻僧,設(shè)計的作用才能體現(xiàn)
圖是一列多行 類圖产上、屬性棵磷、方法
第一行表示 類的名稱;第二行表示類的屬性蒂秘;第三行表示類的方法
UML的關(guān)系泛化與關(guān)聯(lián)(繼承與引用)
學(xué)習(xí)設(shè)計設(shè)計模式泽本,需要繼續(xù)畫UML類圖
《UNIX/LINUX設(shè)計哲學(xué)》
- 小即是美
- 讓程序做好一件事 程序是一個集合
- 快速建立原型 先滿足用戶需求 后面用戶用反饋或迭代新需求升級
- 舍棄高效率而可移植性 高效率不通用與低效率可通用選擇后者
- 采用純文本存儲數(shù)據(jù)
- 充分利用軟件杠桿效應(yīng)
- 使用shell腳本來提高杠桿效應(yīng)與可移植性
- 避免強制性的用戶界面
- 讓每個程序度成為過濾器
- 允許用戶定制 環(huán)境
- 盡量使操作系統(tǒng)小而輕量
- 使用小寫并短
- 沉默是金 比如有數(shù)字輸出 不是數(shù)字就輸出空或者0 其他的會改變政體類型
- 各部分之和大于整體
- 尋求90%的解決方法
五大設(shè)計原則 SOLID
S 單一職責(zé)
一個程序只做好一件事,如果功能過于復(fù)雜蒲牧,每個部分保持獨立撇贺,各個部分之間相互關(guān)聯(lián)的關(guān)系相互利用關(guān)系,小而精
O 開放封閉原則
對擴(kuò)展開放冰抢,對修改封閉
增加需求時松嘶,擴(kuò)展代碼,而非修改已有代碼
這是軟件設(shè)計的中級目標(biāo)
L 李氏置換
子類能覆蓋父類
父類能出現(xiàn)的地方子類就能出現(xiàn)
js中使用較少(弱類型&繼承使用較少)
I 接口獨立原則
保持接口的單一獨立挎扰,避免出現(xiàn)胖接口
D 依賴導(dǎo)致原則
面向接口變成翠订,依賴抽象不依賴具體
使用方法只關(guān)注而不關(guān)注具體類的實現(xiàn)
js中使用較少
23種設(shè)計模式
創(chuàng)建型
- 工廠模式 (工廠方法模式 抽象工廠模式,建造者模式)
- 單例模式
- 原型模式
組合型
- 適配器模式
- 裝飾器模式
- 代理模式
- 外觀模式
- 橋接模式
- 組合模式
- 享元模式
行為型
- 策略模式
- 模板方法模式
- 觀察者模式
- 迭代器模式
- 職責(zé)連模式
- 命令模式
- 備忘錄模式
- 狀態(tài)模式
- 訪問者模式
- 中介者模式
- 解釋器模式