策略模式:它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,
此模式讓演算法的變化,不會影響到使用演算法的客戶。
封裝變化是我們物件導向的一種很重要的思維方式。
在我們專案中的體現就是,如果要在不同的時刻應用不同的業務規則,
就可以使用策略模式。
只使用策略模式在客戶端需要進行判斷,根據傳入的引數去傳入不同的例項化子類。
如果使用簡單工廠和策略模式配合,那麼客戶端就不用判斷,將判斷封裝到後台,客戶端只需要傳入條件就好!這樣客戶端**就會變得非常簡潔。
裝飾模式是為了已有功能動態地新增更多功能的一種方式。
裝飾模式:動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更靈活。
我們使用裝飾著模式,可以在不修改原有功能的同時,對整個方法進行增強!比如說我們小時候每次考試完,老師都會讓我們把卷子拿回家讓家長看看並簽字。當然啦,學習好的學生不用說也會讓家長看的,像咱們這些小渣渣,是打死都不願意的。但是不簽字又不行,於是乎我們肯定在讓家長看之前,先匯報一下最高成績是多少(當然了有考滿分的就不要匯報最高成績了),自己上次考了多少進步了多少(退步的不要匯報),班級排名進步了多少等等,一切有利於自己的情況肯定會說的!如果沒有一項是有利於你的,那麼請保重!那麼這就是我們對成績的乙個裝飾!反映到程式中就是我們先執行有利於我們的情況,然後顯示成績!
狀態模式和策略模式
策略模式 商場 方案,可以有多種 買x返y,z折扣,積分,直降a。一次 活動可以只選擇其中的一種 策略,彼此之間沒有影響。狀態模式 乙個人一天的工作狀態 早上精神百倍,下午還好,晚上很累。早中晚各是一種狀態,但只有三種狀態聯合起來,才能完成 一天的狀態 這件事情,相當於把一天的狀態分成了三個部分了。...
策略模式和簡單工廠模式
策略模式和簡單工廠模式有什麼不同額?最近在學習設計模式,遇到這兩種模式,有點兒迷糊?簡單工廠模式 public class operation return result private double numbera 0 public double numbera set private doubl...
簡單工廠模式和策略模式
兩種模式如出一轍,基本方式都是通過將相同的行為封裝在乙個抽象父類 或介面 中,然後子類繼承該抽象父類並對該相同的行為進行不同的實現。簡單工廠模式 目的在於根據不同的條件建立不同的子類,工廠類的作用就是建立類。策略模式 比簡單工廠模式多了乙個context類,該類中保持對乙個策略父類的引用。該模式對策...