DoubleTranslator dtDouble = new DoubleTranslator(); String sTemp = dtDouble.translate(loan.getInterestRate()); setInterestRate(sTemp); |
為了使轉換代碼具有最大的可重用性,并為整個站點提供一種共同的轉換,syncGuiToModel() 和 syncModelToGui() 使用的都是 Object Translator 類。Object Translators 與 Translator 對象聯系得如此緊密,以致于幾乎可將它們看作是 Translator 對象的規則。Object Translator 類是一個簡單的類,它的唯一用途就是將一種數據類型轉換為格式化字符串,以及將格式化字符串轉換為它的數據類型。下面是一個很簡單的 Object Translator 類的代碼:
public class DoubleTranslator extends ObjectTranslator public double translate(String stringToBeTranslated) throws Exception try { return dRV; |
當這個樣例 Object Translator 將 double 轉換為格式化的 String 時,它只需調用 Double.toString()。這個方法可實現更強大的功能,例如,可以添加幾行代碼,使得當格式化類似 1000.25 這樣的大 double 值時,可預格式化這個值,以便顯示為 1,000.25。
對于 DoubleTranslator.translate(String),須注意的重要一點是,它會發出一個可讀性很好的異常,而不是標準的 Java.lang.NumberFormatException 異常。JSP 文件將此異常的消息直接顯示給網站訪問者,因此,讓網站的普通訪問者很容易地理解該方法發出的異常是非常重要的。
4. 小結
使用 Translator 模式框架的優點很多,不僅可以降低網站的成本,而且可以提高用戶的滿意度。由于不同組件都只執行專門的任務,因而網站的構建成本降低了。這些專門任務分配給生產小組,如 HTML 小組或 Java 程序員小組。因為 Translator 模式的 ObjectTranslators 在整個網站重用,所有全部格式化和分析都是以相同的方式進行的。因為每項任務都以相同的方式完成,所以網站訪問者就能夠以一致的方式查看整個網站的信息。這進一步提高了用戶的滿意度。
新聞熱點
疑難解答