**的靈活性是指修改**的難易程度。
「靈活」是指在新增新**的時候,已有**能夠不受影響,不產生衝突,不出現排斥,在保證自身不遭到破壞的前提下靈活地接納新**。
**早晚會被修改。因此,易於修改、具有靈活性成了**的必備條件。
要想讓**具有靈活性,就要保證**易於擴充套件且擴充套件時不會波及無關的元素。
不過靈活是一把雙刃劍,**易於修改自然是好事,但靈活性往往會成為將複雜的**或設計正當化的藉口。不能以犧牲簡潔性為前提來提高靈活性,因為多餘的靈活性是無用的。
為了寫出靈活且簡潔的**,我們需要克制住展現小技巧的慾望。相較於通過設計自上而下地獲取靈活性,從確保簡潔出發,通過單元測試自下而上獲取靈活性會更好。
支撐程式設計理論的三大思想 交流
也是一種給人看的文件,而文件的本質在於交流。在程式設計中,良好的交流意味著讀 人能夠理解 修改和使用 順利的開發源於順利的交流。軟體開發大部分成本是在完成以後產生的,這部分就是維護成本。要想節約成本,就要提高 的可讀性。這是因為程式設計師之間是需要通過 進行交流。讀 的時間要多餘寫 的時間。另外,在...
物件導向程式設計Java 三大特徵和設計思想
面型物件的三大特徵 1.封裝性 模組化 將屬性和行為封裝在類中,程式定義很多類 資訊隱蔽 將類的細節部分隱藏起來,使用者只通過受保護的介面訪問某個類。class person public void setage int a 使用者通過輸出年齡或輸入年齡 string name void sayhe...
物件導向思想的三大特徵
封裝性 繼承性 多型性 二 繼承性 問題 為什麼有繼承這個概念?例如我們建立乙個學生類 student 教師類 teacher 家長類 parent 這三個類中都會有的屬性 姓名 年齡 性別等等 這三個類中都會有的方法有 走路 吃飯 睡覺等等。如果建立完成這三個類,那麼這些重複的屬性和方法就會重複,...