簡單工廠和策略模式對比

2021-08-10 04:13:17 字數 979 閱讀 2544

需求:設計乙個能隨意切換槍械的裝置。

策略介面vs工廠介面

//策略類介面

class testshot2

public static void main(string args)

}//工廠類介面

class testshot3

public static void main(string args)

}

策略類vs工廠類

//策略類

class pkgshot2

}public void execute()

}//工廠

class shotfactory

return st;//返回shot物件}}

其餘相同類補充:

父類射擊類

package com.strategydemo;

//射擊類抽象

public abstract class shot

子類射擊型別

package com.strategydemo;

public class cannonshot extends shot

}//手槍射擊

public class gunshot extends shot

}//機槍射擊

public class machinegunshot extends shot

}

同樣的結果:

分析:兩個設計模式的不同,工廠模式是直接物件呼叫槍械方法,策略模式通過策略類封裝shot物件呼叫槍械方法,個人感覺策略類更加符合物件導向的思想,減輕了客戶端的職責。

ending... ...

策略模式和簡單工廠

一 商場收銀軟體 題目給乙個商場收銀軟體 如果給平時做的話 可能就是兩個文字框,數量 金額得到結果 相信這是大多數初學者的通病 既然今天學習的是策略模式,就要想到之前的簡單工廠,如果是正常模式,就應該如上圖所示,但是有時候做活動,需要打折,或者商品滿500返回100這樣之類的,這時候就有了別的情況出...

策略模式和簡單工廠模式

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

簡單工廠模式和策略模式

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