跟著cc學設計模式

2021-06-16 18:06:38 字數 1061 閱讀 8917

1、責任鏈模式:在研磨設計模式裡,責任鏈模式主要講解的是 專案經理、部門經理、總經理之間審批活動經費之間的責任鏈,後來新增了審批出差經費、導致handler介面要增加乙個處理預支差旅費用的申請的方法(handleprefeerequest),這樣所有的實現類都要實現這個方法,改變比較大。違背了,介面時常改動的原則(開閉原則)。解決辦法是handler介面處理請求的時候帶乙個引數(requestmodel rm),且返回的是obect物件,然後 類 feerequestmodel、prefeerequestmodel 繼承這個類。增加一種引數型別,導致了經理處理類也要增加乙個如(depmanager2 專門處理prefeerequestmodel 這種型別的請求,如果是feerequestmodel這種型別的那麼 還是depmanager類去處理請求 )增加 了物件的細粒度。handler的實現介面,最主要的**是:if(在自己的處理範圍內)else。更加靈活的處理審批過程--》過濾流。

核心是:分離職責、動態組合。

2、策略模式:在研磨設計模式裡,策略模式主要講解的是給客戶**,不同客戶**不同,上下文持有不同的策略選擇不同的**方式。講解了策略與上下文的關係:有2種方式,例子是:支付方式:人民幣支付、美元支付、卡支付,問題是卡支付的時候比前2種現金支付的時候,多了乙個」卡號「,卡號這個屬性即可以放在card裡,也可以放在上下文裡,如果放在上下文裡,那麼要多乙個上下文物件context2繼承context裡面,多了個卡號屬性。

核心是:分離演算法、選擇實現。

3、生成器模式:書中的例子是解析一段文字,有2中方式:1、xml方式2文字方式。構造乙個實體有:有頭部、身體、尾部 3個部分。

核心是:分離整體構建演算法和部件構造。

4、橋梁模式:書中講解了 訊息傳送 。訊息首先分:普通資訊、加急訊息、特級訊息。傳送方式:站內傳送、email傳送、移動傳送。這樣訊息和傳送傳送 就有9種不同的方式,形成了9個類,再加上一種訊息型別、一種傳送方式,要16個類。

解決辦法:抽象和實現分離開來,訊息成乙個抽象類,裡面包含乙個傳送的介面。

傳送構造乙個介面,有3種實現方式:站內傳送、email傳送、移動傳送。

在客戶端自動構造訊息型別、自動構造傳送方式。這樣減少了很多類。

跟著cc學設計 之 研磨設計模式 目錄彙總貼

研磨設計模式的前言 跟著cc學設計系列 研磨設計模式 配套源 跟著cc學設計系列 研磨設計模式之工廠方法模式 1 跟著cc學設計系列 研磨設計模式之工廠方法模式 2 跟著cc學設計系列 研磨設計模式之工廠方法模式 3 跟著cc學設計系列 研磨設計模式之工廠方法模式 4 跟著cc學設計系列 研磨設計模...

跟著專案學設計模式 十 觀察者模式

接上文,既然乙個服務有多個消費者,在具體的功能實現上,會遇到許多有細微差別的地方,比如 對商品的修改有些服務需要簡訊通知後台管理員,有些服務需要通過郵件 站內訊息的形式通知相關使用者,有些服務要求無需任何通知操作。為了能相容這些矛盾,我們嘗試去新增相應的介面如下 public inte ce ior...

跟著寵物學健身

貓有著無比柔軟和輕巧的身段,狗則充滿活力 動作靈活,它們的一些行為動作均可讓我們模仿,這麼做對健身大有好處 學貓狗走路。學 狗步 像狗那樣,四肢落地。用右手和左腳 左手和右 替伸出,移動身體前行。每天堅持走20步。可緩解長久站立或行走引起的腰痛 胃下垂 痔瘡及下肢腫脹等,對防治腰痛尤其有效。邁 貓步...