設計模式-單一職責、里氏替換
單一職責原則
● 類的複雜性降低, 實現什麼職責都有清晰明確的定義;
● 可讀性提高, 複雜性降低, 那當然可讀性提高了;
● 可維護性提高, 可讀性提高, 那當然更容易維護了
里氏替換原則
只要父類能出現的地方子類就可以出現, 而且替換為子類也不會產生任何錯誤或異常, 使用者可能根本就不需要知道是父類還是子類。 但是, 反過來就不行了, 有子類出現的地方, 父類未必就能適應。
1.子類必須完全實現父類的方法不能重寫父類的方法
2.子類可以有自己的個性
3.覆蓋或實現父類的方法時輸入引數可以被放大
4. 覆寫或實現父類的方法時輸出結果可以被縮小
採用里氏替換原則的目的就是增強程式的健壯性, 版本升級時也可以保持非常好的相容
性。 即使增加子類, 原有的子類還可以繼續執行。 在實際專案中, 每個子類對應不同的業務
含義, 使用父類作為引數, 傳遞不同的子類完成
相關推薦
設計模式-單一職責、里氏替換
單一職責原則 ● 類的複雜性降低, 實現什麼職責都有清晰明確的定義; ● 可讀性提高, 複雜性降低, 那當然可讀性提高了; ● 可維護性提高, 可讀性提高, 那當然更容易維護了 里氏替換原則 只要父類能出現的地方子類就可以出現, 而且替換為子類
設計模式之禪(里氏替換原則)2018-10-19
介面與抽象類的區別: 介面卡模式:使用不同介面的類所提供的服務為客戶端提供它所期望的介面。 實現: 有一個 MediaPlayer 介面和一個實現了 MediaPlayer 介面的實體類 AudioPlayer。預設情況下,AudioPl
設計模式| 單一職責原則&介面隔離原則
記錄學習設計模式的過程 #單一職責原則 概念 定義:不要存在多於一個導致類變更的原因 一個類、介面、方法只負責一項職責 優點:、、 案例 單一職責原則很簡單,一個方法 一個類只負責一個職責,各個職責的程式改動,不影響其它程式。 這個比較容易理解,就舉個一
設計模式-單一職責模式
單一職責模式並不難懂,我們用一個例子來學習一下。 設計一個手機上的俄羅斯方塊的遊戲,比如用WinForm開發的話,我們需要: 首先建立一個窗體Form,然後加一個用於遊戲框的控制元件,比如Panel,一個按鈕來控制開始,最後放一個Timer控制元件用於分時動畫的程式設計。寫程式碼當然是編
Java設計模式——六大原則之里氏替換
肯定有不少人跟我剛看到這項原則的時候一樣,對這個原則的名字充滿疑惑。其實原因就是這項原則最早是在1988年,由麻省理工學院的一位姓裡的女士(Barbara Liskov)提出來的。 定義1:如果對每一個型別為 T1的物件 o1,都有型別為 T2 的物件o2,使得以 T1定義
設計模式—單一職責原則
1.單一職責原則是什麼? 單一職責原則又被稱為單一功能原則,是面向物件的六大基本原則之一,簡單的說就是對一個類而言,應該有且只有一個變化的原因。一個類只有一個引起它變化的原因就是一個類只
設計模式(二)--里氏替換原則(Java的繼承規範)
昨天有說到單一職責原則是針對介面的思維拓展,有沒看過的,可以看看!https://blog.csdn.net/newlifemai
設計模式六大原則:里氏替換原則
里氏替換原則: 子類應當可以替換父類並出現在父類能夠出現的地方。比如:公司搞年度派對,都有員工都可以抽獎,那麼不管是新員工還是老員工,也不管是總部員工還是外派員工,都應當可以參加抽獎。 案例: 1 internal class Program 2 { 3 private s
六大設計原則(一)單一職責原則、里氏替換原則
一、單一職責原則: 英文名Single Responsibility Principle,應該有且僅有一個原因引起類的變更。 There should never be more than one reason for a class to change。 單一職責原則提出
設計模式之職責鏈模式
如何 設計模式 bili script 處理 dom 查找 dialog 關系 設計模式之職責鏈模式 May 16, 2015 職責鏈模式(Chain of responsibility)是使多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關系。將這個對象
JavaScript設計模式:一、面向對象編程
this 依賴 人在 turn obj log javascrip 體會 創建 JavaScript面向對象編程 眾所周知,JS作為一門腳本語言,由於其設計者在設計JS的時候,也僅僅用了很少的時間就完成了JS這門語言的創建,JS雖然擁有著腳本語言的優勢,但是JS也存在著
JavaScript設計模式:一、面向對象編程(第二節)
得到 調用 帶來 方式 get 特權 style 方法封裝 面向對象 一、封裝 面向對象編程思想其中的一個特點就是封裝,通俗的講法就是把需要的功能方向在一個對象裏。遺憾的是,對於JS這種解釋性的弱類型語言沒有經典強類型語言中那樣通過class等關鍵字實現類的封裝方法,j
JavaScript設計模式:一、面向對象編程(第三節)
設置 style 擁有 ray 進行 如果 eat gree 而在 一、繼承 js並沒有繼承這一個現有的機制,所以我們所說的繼承是通過JS本身的機制去實現的。 1、類式繼承 1 // 類式繼承 2 3 // 父類 4 function SuperClas
Java設計模式之職責鏈設計模式
權限不足 ner alt 處理 fin web.xml 2.4 分享 行為 1.什麽是-職責鏈設計模式 責任鏈模式是一種對象的行為模式。在責任鏈模式裏,很多對象由每一個對象對其下家的引用而連接起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。發出這個請
設計模式之職責鏈
num alt des basis 對象處理 關系 osi 簡單的 頭上 職責鏈(Chain of Responsibility)模式屬於23種設計模式之一,職責鏈也稱為責任鏈,《Design pattern: the basis of reusable object-or
多線程的設計模式:Future、Master-Worker
future模式 多線程 try 繼續 分享 接收 imp 線程結構 優化 一 簡介 並行設計模式屬於設計優化的一部分,它是對一些常用的多線程結構的總結和抽象。與串行程序相比,並行程序的結構通常更為復雜,因此合理的使用並行模式在多線程開發中更具有意義,在這裏主要介紹==Fu
設計模式簡單工廠、工廠方法、抽象工廠
夢想 吃水果 system 水果 com 種類 spa pub rri 簡單工廠模式 舉個例子: 小Z喜歡吃水果(Fruit)更喜歡喝果汁(juice),喜歡三類水果哈密瓜(Hami melon)、香蕉(banana)、桃子(peach)利用簡單的工廠實現小Z喝果汁夢想
面向對象設計原則 單一職責原則(Single responsibility principle)
敏捷軟件開發 實現邏輯 導致 五個 單獨 無法 dot 單一職責原則 其它 單一職責原則(SRP:Single responsibility principle)又稱單一功能原則,面向對象五個基本原則(SOLID)之一。 它規定一個類應該只有一個發生變化的原因。 該原則
設計模式--靜態工廠、簡單工廠方法案例分析
簡介 1.學習本篇文章,瞭解簡單工廠設計模式的使用場景。 2.如何使用簡單工廠模式。 3.簡單工廠模式能解決什麼問題? 場景 現在有一家外賣小店需要從生產一份外賣開始進行考慮設計,當客戶在網上點出不同味道的菜時,外賣小店就將按照不同的訂單進行生產出菜品,然後進行打包、等待外賣
二十三種設計模式[13] - 職責鏈模式(Chain Of Responsibility)
前言 職責鏈模式,屬於物件行為型模式。你可以想象成有一排人等著幫你處理問題,你只需要將你的問題告訴第一個人然後等待結果即可。如果第一個人處理不了這個問題,他會將這個問題告訴第二個人,以此類推。但並不意味著你的問題一定會被解決。 &nbs