需求:設計乙個能隨意切換槍械的裝置。
策略介面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類,該類中保持對乙個策略父類的引用。該模式對策...