strategy-pattern

    -1熱度

    1回答

    我找不到服務對象設計模式的任何定義。 的事務腳本設計圖案 通過組織設備程序的業務邏輯,其中每個過程處理從呈現的單個請求。 的戰略設計模式 定義一系列的算法,封裝每一個,使得它們可以互換。策略可以讓算法獨立於使用它的客戶端。 它們是否相似?

    1熱度

    3回答

    我想設計一個系統,允許用戶從文件類型列表中進行選擇以將文件保存爲。我有一個名爲Word的類,和一個名爲SaveFileType的接口。每個文件類型都實現具有saveFile()方法的SaveFileType。這個想法是,當'程序員'想要添加一個新的文件類型時,應用程序中的代碼都不需要改變。 這是UML圖我已經作出: ,我面對的是Word類不具有所有可用的文件類型列表中,我需要顯示給用戶的問題。 一

    2熱度

    1回答

    我正在尋找一種已知方法(如果有)將長條件表達式拆分爲獨立語句。 例如,我有這樣的長期表現: *IF ( (*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python' *OR *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java') *AND (*VALUE K01_PRO

    1熱度

    1回答

    在計算機編程中,策略模式(也稱爲策略模式)是一種行爲軟件設計模式,可以在運行時選擇算法的行爲。 策略模式... 定義了一系列的算法。 封裝每個算法。 使算法在該系列內可互換。 (來源:Wikipedia) 在我的情況,我希望能夠以不同的散列算法注入的服務。 C#有幾個散列算法,從HashAlgorithm派生,如: MD5 SHA256Managed RIPEMD160Managed 鑑於這個層次

    0熱度

    1回答

    我正在編寫一些Java代碼,如果發現異常,我想循環回到較早的方法。 這裏是一個簡化版本的我的代碼: public class classA { public static void main(String[] args) { int number1 = askUserForFavoriteSum(); int number2 = askUserFor

    1熱度

    2回答

    public interface FileReader { void readFile(); void writeFile(); } public class XMLReader implements FileReader { @Override public void readFile() { System.out.println("

    0熱度

    2回答

    刪除重複的代碼,最有效的方法我們有3種在我們的項目屬性:的CategoryAttribute,ProductAttribute和ProductTypeAttribute。這些不在我們的控制範圍之內,因爲它們來自自動生成的類,並且可能包含不同類型的屬性值,例如text,number or image。現在,每個屬性都有自己的策略來檢索attributeValue。爲簡單起見,我們假設他們全部3個都有

    4熱度

    4回答

    我正在開發一個側面項目,以便更好地理解控制和依賴注入的反轉以及不同的設計模式。 我想知道是否有使用DI的工廠和戰略模式的最佳實踐? 我的挑戰來自何時一個策略(由工廠構建)需要不同的參數爲每個可能的構造函數和實現。因此,我發現自己在服務入口點聲明所有可能的接口,並通過應用程序傳遞它們。因此,必須爲新的和各種策略類實現更改入口點。 爲了下面的說明,我已經組合了一個配對的例子。我的這個項目的堆棧是.NE

    0熱度

    1回答

    我正在開發一個web應用程序項目,該項目需要我重構文件上傳功能。我們的文件上傳功能支持多種上傳文件源,例如git repo,nexus URL,zip文件我們也希望在未來支持更多的perforce。在當前的實現中,應用程序有多個端點來處理不同的方法,如getNexusFile(),getGitFile(),getZipFile();在每種方法下,都有從指定源檢索文件的實現。 我的想法是通過使用策略

    0熱度

    2回答

    我可以使用策略模式來實現以下邏輯: 所以,想象學費是根據學生的整體表現來計算的,例如,如果學生有一個整體平均分大於70分,他的學費將減少70%。依此類推。如果平均分爲50折優惠,其他情況下不予折扣。所以有不同的策略來計算折扣,這取決於平均分。 如何在Java代碼中實現這一點? 我想會有學生類,將有方法來計算平均分,界面TuitionFeeCalculator和三種策略:70persentDisco