有說五大原則,六大原則,七大原則;這不重要,重要的是瞭解這些原則是什麼;設計原則要有取捨;編程
軟件實體應當對擴展開放,對修改關閉設計模式
開閉原則的含義是:當應用的需求改變時,在不修改軟件實體的源代碼或者二進制代碼的前提下,能夠擴展模塊的功能,使其知足新的需求架構
能夠經過「抽象約束、封裝變化」來實現開閉原則,即經過接口或者抽象類爲軟件實體定義一個相對穩定的抽象層,而將相同的可變因素封裝在相同的具體實現類中。
由於抽象靈活性好,適應性廣,只要抽象的合理,能夠基本保持軟件架構的穩定。而軟件中易變的細節能夠從抽象派生來的實現類來進行擴展,當軟件須要發生變化時,只須要根據需求從新派生一個實現類來擴展就能夠了框架
繼承必須確保超類所擁有的性質在子類中仍然成立.net
高層模塊不該該依賴低層模塊,二者都應該依賴其抽象;抽象不該該依賴細節,細節應該依賴抽象設計
依賴倒置原則的目的是經過要面向接口的編程來下降類間的耦合性,因此咱們在實際編程中只要遵循如下4點,就能在項目中知足這個規則。對象
單一職責原則規定一個類應該有且僅有一個引發它變化的緣由,不然類應該被拆分繼承
若在方法中有bool類型,必定要拆分紅兩個方法,由於必定有兩個功能;接口
接口和方法的單一原則儘可能徹底遵照,類的單一原則在條件容許狀況下遵照get