策略模式和簡單工廠

2022-09-03 11:57:09 字數 973 閱讀 3288

一、商場收銀軟體

題目給乙個商場收銀軟體

如果給平時做的話 可能就是兩個文字框,數量*金額得到結果

相信這是大多數初學者的通病

既然今天學習的是策略模式,就要想到之前的簡單工廠,如果是正常模式,就應該如上圖所示,但是有時候做活動,需要打折,或者商品滿500返回100這樣之類的,這時候就有了別的情況出現。

工廠模式的出現

1.1新增乙個現金抽象類,和乙個收取現金的抽象方法

1.2:根據不同的情況搭建不同的類,繼承實現 類,實現抽象類的方法

1.2.1正常收費的話,自然就是返回輸入的金額

1.2.2:打折的話,搭建打折類,給個打折的引數

1.2.3:搭建乙個返利多少錢的類(假如滿300,返回100,那麼900的話就是返300)

1.3生命上下文物件,switch判斷分支,根據不同的打折,構建不同的例項

1.4 客戶端呼叫,根據下拉打折的情況,結算現金

策略模式和簡單工廠模式

策略模式和簡單工廠模式有什麼不同額?最近在學習設計模式,遇到這兩種模式,有點兒迷糊?簡單工廠模式 public class operation return result private double numbera 0 public double numbera set private doubl...

簡單工廠模式和策略模式

兩種模式如出一轍,基本方式都是通過將相同的行為封裝在乙個抽象父類 或介面 中,然後子類繼承該抽象父類並對該相同的行為進行不同的實現。簡單工廠模式 目的在於根據不同的條件建立不同的子類,工廠類的作用就是建立類。策略模式 比簡單工廠模式多了乙個context類,該類中保持對乙個策略父類的引用。該模式對策...

簡單工廠模式和策略模式

簡單工廠模式是用來當客戶端要判斷採用什麼方法時,把這部分判斷分離出來,放到工廠類中,只要輸入可以鑑別的資訊時就可了,比如計算時的符號,然後在工廠類中判斷用哪種運算類。選擇類 而策略模式中,在工廠類中呼叫的類,他的方法的引數形式可能是不同的,這時候就是不同的策略,那麼就需要建立不同的策略,這時候我們就...