strategy-pattern

    3熱度

    3回答

    在實現策略模式,你如何確定哪個類負責 爲: 選擇特定的具體戰略實施傳遞給Context類(假設選擇是基於一些複雜的業務邏輯而不是一個靜態的標誌) 實例化前面提到的具體實施和實際將其注入Context類 感覺就像那裏應該有一些客觀的指導,包括這個。我已經對各種OOP模式(即GRASP和SOLID)進行了一些閱讀,但對於這個特定問題我還是沒有很清楚的。

    6熱度

    5回答

    我基本上試圖實現一個策略模式,但我想將不同的參數傳遞給「接口」實現(從同一對象繼承)並且不知道是否這個有可能。也許我選擇了錯誤的花樣,我得到類似於 「StrategyA」的錯誤不會實現繼承的抽象成員「無效DoSomething的(BaseObject)」 與下面的代碼: abstract class Strategy { public abstract void DoSomething(Bas

    23熱度

    1回答

    我終於使我的腳溼依賴注入(長期過期);我開始玩Unity,並遇到了一個與戰略模式有關的問題。我可以使用容器向我返回基於名稱的策略的特定實現,但我沒有看到的是我如何在上下文中獲得正確的策略。 讓我們舉個簡單的例子來說明:上下文是一輛汽車,它有一個IEngine(策略),有2個實現,FastEngine和SlowEngine。該代碼將沿着這些路線看: public interface IEngine

    22熱度

    10回答

    什麼時候會使用Strategy Pattern? 我看到客戶端代碼片段是這樣的: class StrategyExample { public static void main(String[] args) { Context context; // Three contexts following different strategies

    1熱度

    3回答

    我是新來的設計模式,現在我想實施戰略模式。這裏是我的代碼: namespace StrategyPattern { public interface ISendBehavior { void Send(); } public class SendAppointment : ISendBehavior { public v

    1熱度

    3回答

    我有一個MessageProcessor類,它處理不同類型的xml消息。基於消息類型的switch語句(C#)調用適當的方法來解析xml並提取消息類型所需的數據。 我寧願有大量的解析器類,其中一個解析器類會在基於消息類型創建時注入到MessageProcessor中。開關替換爲多態 - 迄今爲止非常好。 但是,我遇到的問題是當前的解析器方法每個都返回不同的結果,例如, ParseExecute(x

    4熱度

    2回答

    例如,假設我有一個可添加到購物車的產品類。當它也在購物車中時,我可能希望能夠將其與另一件物品一起打包並添加15%的折扣。 產品類是否應該使用允許交易的新子類進行修飾,或者是否應重新設計產品類以允許購物車將降價「策略」對象附加到產品,從而降低產品價格? 這是一個抽象的例子,所以把它放在你想要的地方。

    1熱度

    4回答

    我的老師是一個非常好的老師,我傾向於理解他的觀點,但是這個老師只是過了頭。 他解釋了兩種變體的模板方法; - 統一:標準變體,由抽象類和一些抽象方法組成,抽象方法定義了固定算法的變體部分。 - 分離:他自己的變體(我認爲?),其中一個類包含templateMethod(),並使用委派到一個接口來改變算法的各個部分,這對我來說看起來完全像Strategy模式。 任何人都可以看到他的觀點是什麼,以及「

    1熱度

    2回答

    我在AS3工作Stategy,但我想這可能是一個普遍的問題,所以我會更隱約鏡框...... 我使用一個XML文件來定義實現策略模式的特定類別對象的參數。將有大量的對象,這對我們來說是一種設計器友好的解決方案,可以定製這些對象。由於我只能在XML文件中定義字符串,有人可以提出一種整潔的方式來獲取該字符串並實施適當的策略嗎? 我有兩個初步想法。首先,將字符串傳遞給對象的構造函數,然後在應用正確策略的對

    3熱度

    2回答

    我們有一個發票模型,以幾種不同的方式向客戶開具賬單。爲了簡潔起見,我將重點介紹兩種:每次展示的費用和每次電話查詢的費用。我的想法是實施這些(和其他)作爲戰略,然後動態混合到發票類。 這似乎是合適的,因爲用於確定展示次數/調用次數的信息有不同的來源。這可以包含在策略中,同時保持Invoice類中的基本公式。 每次展示費用的計算很簡單:num impressions X cost per impres