template-method-pattern

    0熱度

    1回答

    我有一些Java類像MyClass1和MyClass2其狀態保存在JSON對象: "MyClass1":[{"var1":"value1","var2":"value2"},{"var1":"value3","var2":"value4"}] "MyClass2":{"var11":"value5","var22":"value6"} 現在我想編寫一個通用的方法來解析JSON對象爲Java對

    0熱度

    2回答

    我有一個算法大綱 - 一些邏輯步驟必須按特定順序執行。算法的結果必須是某個數字。當然,這使我想到了使用模板方法模式的想法。這適用於void方法,但這裏出現了我的問題:算法中的每個步驟都不是void方法,但允許返回一個數字(因此它們是int方法) - 如果某個步驟返回非零數字,則此數字是算法執行的結果,如果它是零 - 執行繼續下一步。 這聽起來真的很微不足道,但我仍然覺得它在某種程度上醜有類似: p

    3熱度

    3回答

    如何實現模板方法模式的變體,使具體類不會從基類繼承,但模式的整體特徵得到維護。它無法繼承的原因是它被迫從另一個類繼承,並且多重繼承不可用。 例如,假設下面的Tempate Method模式: public abstract class BaseClass { public void Alpha() { Beta(); } public abstract

    1熱度

    1回答

    我是新來的設計模式。 我的問題是我在下面的情況下使用什麼模式? interface UserExtractorService { String getUser(XXXX); default validate(File file); } class AExtractorService { public String getUser(String url) {

    0熱度

    1回答

    是否可以實現這樣的行爲?它不必使用繼承,我只想實現具有通用參數傳遞的模板方法設計模式(使用C++模板)。 class A { public: template<typename ...tArgs> void call(tArgs ...vArgs) { for (int i = 0; i < 5; ++i) impl(vArgs...);

    0熱度

    1回答

    假設我有模板方法設計模式實現的代碼。我想在我的模板方法中測試方法調用的順序和計數。我嘗試使用PHPUnit模擬。我的源代碼如下所示: class Foo { public function __construct() {} public function foobar() { $this->foo(); $this->bar(); }

    6熱度

    3回答

    我有一個執行一些工作的util類。顯然,它是關閉的擴展,所有的方法都是靜態的。爲了簡單起見,類看起來是這樣的: public final class Util { private Util() { } public static void doWork() { // some work int variable = help(); // s

    2熱度

    2回答

    從我所瞭解的來看,Template方法只不過是調用子類中定義的虛擬或抽象方法的普通方法。我是對的嗎,還是對於這種我懷念的模式還有其他重要的東西? abstract class Foo { public void IamTemplateMethod() { // which will be called in child class object method1(); // be

    2熱度

    3回答

    我正在閱讀關於設計模式的內容,特別是關於模板方法,當時我的注意力被this問題抓住了。 閱讀解釋和具體代碼後,我仍然想知道爲什麼這是'模板方法'設計模式的一個例子。 根據GoF的,這個圖案的意圖是: 「定義的算法的骨架中的操作時,某些步驟推遲到子類。模板方法讓子類重新定義算法的某些步驟,而不需要改變算法的結構「 ,有兩個參與者: 抽象類: - 定義抽象的基本操作是具體子類定義了。實施算法步驟 -

    2熱度

    1回答

    模板方法模式的實現中的抽象類是否可以有多個模板方法?