醜女**,美女**
那麼對於**設計來說怎麼評價美醜呢?**設計也有評價標準的。---設計原則,符合設計原則程度越高的設計越美
公認的設計原則有六大設計原則,
1,開閉原則
定義:軟體中的物件(類,模組,函式等等)應該對於擴充套件是開放的,但是對於修改是封閉的
理解: 乙個軟體物件,可以在不改變原始碼的情況下,通過新增物件來擴充套件新的功能。
遵守原則的優勢 :
1,易擴充套件
擴充套件不需要太過關心原有功能的具體邏輯,只需要關注原有邏輯提供的擴充套件方式就可以開始新需求的開發
2,易維護
由於開發新需求不需要更改原有功能的**,這樣就可以需要過多測試就能保證原有功能的穩定性。
難點:開閉原則是一種理想情況,要想做到現有架構對任何擴充套件都做到開閉原則是不現實的。退而求次能做到對可預期的擴充套件做到開閉原則就已經是優秀的設計了。
開發專案最大的困難就是,原本架構不支援擴充套件的新需求。導致實現簡單的新需求也很難實現,甚至要重構架構才能實現新需求。
開發專案最大的風險就是,開發新需求的時候會對原有功能造成不可預期的影響。
遵守開閉原則後,專案中最大的困難和最大的風險都不存在來,這樣都專案開發起來不要太幸福;
2,單一職責原則
定義:應該有且僅有乙個原因引起類的變更
理解: 乙個方法,乙個類或者乙個介面只有乙個原因引起變化,它就只負責一件事情,也就是只有乙個職責。如果乙個物件,負責兩個功能。但兩個功能的**耦合性很高的情況下。那麼改變其中乙個功能的**時,就不能保證一定不會對另外乙個功能造成影響。如果將這個物件,分成兩個物件分別負責乙個功能的話。改動其中乙個功能時,你就可以有底氣都說,絕對,對另外乙個功能的**不會造成任何影響
遵守原則的優勢 :
1,物件的複雜性降低
乙個物件只負責乙個功能的實現,那麼這個物件的邏輯就會變的很簡單。如果還是很複雜只能說它的職責還可繼續劃分
2,可讀性提高
物件的複雜度降低了,自然就更容易讀懂了
3,可維護性提高
物件的變的簡單了,容易讀懂了,自然就更容易維護了
4,變更風險降低了
由於功能職責單一,變更之後的影響範圍降低了,存在的風險範圍自然就降低了
難點:單一職責要求職責單一。但是對職責對劃分是沒有固定模式的。對同一事情。從不同的角度和層次出發可以做出不同的職責劃分
2,依賴倒置原則
定義:高層模組不應該依賴底層模組,兩者都應該依賴抽象;抽象不應該依賴細節;細節應該依賴抽象
理解: 面向介面程式設計,就是說本來是a依賴b的。但現在a不再依賴b,而是依賴c,而b也依賴c ,c只是a和b約定的乙個條約;
遵守原則的優勢 :
1,物件的複雜性降低
乙個物件只負責乙個功能的實現,那麼這個物件的邏輯就會變的很簡單。如果還是很複雜只能說它的職責還可繼續劃分
2,可讀性提高
物件的複雜度降低了,自然就更容易讀懂了
3,可維護性提高
物件的變的簡單了,容易讀懂了,自然就更容易維護了
4,變更風險降低了
由於功能職責單一,變更之後的影響範圍降低了,存在的風險範圍自然就降低了
難點:單一職責要求職責單一。但是對職責對劃分是沒有固定模式的。對同一事情。從不同的角度和層次出發可以做出不同的職責劃分
PCB設計的一般原則 分享
pcb設計的一般原則 分享 印製電路板 pcb 是電子產品中電路元件和器件的支撐件 它提供電路元件和器件之 間的電氣連線。隨著電於技術的飛速發展,pcb的密度越來越高。pcb設計的好壞對抗干擾能力影響很大 因此,在進行 pcb設計時 必須遵守 pcb設計的一般原則,並應符合抗干擾設計的要求。要使電子...
企業郵件營銷模板主題設計原則分享
企業進行郵件營銷模板策劃時需要注意內容與標題的主題一致性,包括如何正確體現出主題優勢,能給使用者留下深刻印象,同時還需要在設計時注意一些禁忌,以免造成不好的使用者體驗影響營銷效果,關於郵件營銷主題設計大家可以參考以下幾項原則 合理安排郵件主題 盡快對郵件主題沒有嚴格的字數要求,但一般情況下即可以反映...
設計原則與思想 設計原則
如何理解單一職責原則 srp solid原則並非單純的1個原則,而是由5個設計原則組成,他們分別是 單一職責原則,開閉原則,裡式替換原則,介面隔離原則和依賴反轉原則,依次對應solid中的s,o,l,i,d這五個英文本母 單一職責原則的英文是single responsibility princip...