寫乙個簡單的計算器
如果使用完全面向過程設計, 那麼缺少**重用, 不合理
應該採用物件導向的設計思想
採用工廠方法模式
工廠
public inte***ce operationfactory
public class addoperationfactory implements operationfactory
}
產品
public abstract class operation
public void setnum1(double num1)
public double getnum2()
public void setnum2(double num2)
public abstract double getresult();
}
public class addoperation extends operation
}
測試**
public class mainclass
system.out.println(strnum1 + oper + strnum2 + "=" + result);
}}
注: 本例中只寫了加法操作運算, 如新增其他運算 可以通過實現operation介面來增加新的運算類, 實現operationfactory介面來增加新的運算工廠. 符合開放-封閉原則
使用簡單工廠也可以完成,客戶端省去判斷操作符的邏輯, 由工廠來完成 可以用反射+配置檔案(根據id或name 來找到class)來建立物件
java設計模式之工廠模式
工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以根據提供的資料生成一組類中某乙個類的例項,通常這一組類有乙個公共的抽象父類或者是介面並且實現了相同的方法,但是這些方法針對不同的資料進行了不同的操作。首先需要定義乙個父類或者介面,該類的子類通過不同的方法實現了父類中的方法。然後需要定義乙個工...
java設計模式之工廠模式
1 只要方法裡面控制產生物件的方法,就可稱為工廠相關方法。2 單例 多例。3 簡單工廠 例子 交通工具 多種交通工具 多種交通工具不同的生產過程 4 介面抽象類使用 一般乙個特性使用介面 會飛的 大概能定義為乙個物體使用抽象類 由於類的多繼承性,建議多用介面。5 抽象工廠 換掉一些列的產品,擴充套件...
java設計模式之工廠模式
工廠模式包括工廠方法模式和抽象工廠模式兩種。實際是將介面的例項建立交給乙個工廠類來做。1.工廠方法模式 又包括普通工廠模式 多方法工廠模式 靜態工廠模式三種設計方式。例如 介面 public inte ce father 實現類public class child1 implements fathe...