SQL Server XML學習筆記
1.開閉原則:對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的程式碼,使用介面和抽象類對程式進行擴充套件。軟體中易變的細節可以從抽象派生來的實現類來進行擴充套件。
一句話總結就是使用介面和抽象類程式設計。
2.里氏代換原則:子類可以擴充套件父類的功能,但不能改變父類原有的功能。換句話說,子類繼承父類時,除新增新的方法完成新增功能外,儘量不要重寫父類的方法。如果通過重寫父類的方法來完成新的功能,這樣寫起來雖然簡單,但是整個繼承體系的可複用性會比較差,特別是運用多型比較頻繁時,程式執行出錯的概率會非常大。父類型別指向子類物件。子類可以擴充套件父類的功能,但不能改變父類原有的功能。
1)子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法。
2)子類可以增加自己獨有的方法。
3)當子類過載父類的方法時,子類方法的輸入引數要比父類方法的輸入引數更寬鬆。
4)當子類實現父類的方法時,子類方法的返回值要比父類更嚴格或者相等。比如丟擲異常時,子類要丟擲更具體的異常。
一句話總結就是子類繼承父類不要重寫父類的方法。
3.依賴倒轉原則:高層模組不應該依賴低層模組,兩者都應該依賴其抽象;抽象不應該依賴細節,細節應該依賴抽象。簡單的說就是要求對抽象進行程式設計,不要對實現進行程式設計,這樣就降低了客戶與實現模組間的耦合。
1)每個類儘量提供介面或抽象類,或者兩者都具備。
2)變數的宣告型別儘量是介面或者是抽象類。
3)任何類都不應該從具體類派生。
4)使用繼承時儘量遵循里氏替換原則
一句話總結就是要面向介面程式設計,不要面向實現程式設計。
4.介面隔離原則:客戶端不應該被迫依賴於它不使用的方法;一個類對另一個類的依賴應該建立在最小的介面上。通俗說就是一個介面只寫一個子模組或者業務邏輯的方法,當實現類需要實現多個方法的時候,採用實現多個介面的方式。
一句話總結就是接口裡面的方法要同一個業務邏輯,放入方法個數儘可能少,必要時採用實現多個介面的方法。
5.迪米特法則:迪米特法則又叫最少知識原則。只和你的直接朋友交談,不跟“陌生人”說話。其含義是:如果兩個軟體實體無須直接通訊,那麼就不應當發生直接的相互呼叫,可以通過第三方轉發該呼叫。其目的是降低類之間的耦合度,提高模組的相對獨立性。迪米特法則中的“朋友”是指:當前物件本身、當前物件的成員物件、當前物件所建立的物件、當前物件的方法引數等,這些物件同當前物件存在關聯、聚合或組合關係,可以直接訪問這些物件的方法。
一句話就是使用中介類進行互動。
6.合成複用原則:儘量先使用組合或者聚合等關聯關係來實現,其次才考慮使用繼承關係來實現。通常類的複用分為繼承複用和合成複用兩種。
7.單一職責原則:一個類只負責一種職責。
8.記憶口訣:訪問加限制,函式要節儉,依賴不允許,動態加介面,父類要抽象,擴充套件不更改。