我正在使用一個項目的大量對應於大量的屬性中有大量實體類領域的大規模殺傷性武器降價編輯器。某些類可能有多個需要減價的屬性。設計模式應用轉換爲多個屬性的多個類
我正在存儲降價本身,因爲這樣以後可以更容易地編輯字段。但是,我需要將這些屬性轉換爲HTML以供稍後顯示。問題是:是否有一些模式可以用來避免在所有實體類中編寫markdown轉換代碼?
我創建一個工具類與接受減價字符串,並返回HTML的方法。我正在使用markdownj,這工作正常。
的問題是對於存儲減價我可能需要一個轉換爲HTML的另一種方法每個類的每個屬性:
public class Course{
private String description;
.
.
.
public String getDescription(){
return description;
}
public String getDescriptionAsHTML(){
return MarkdownUtil.convert(getDescription());
}
.
.
.
}
的問題有,如果課程班有2次以上性學費和先決條件說,都需要轉換器,那麼我將不得不編寫getTuitionAsHTML()和getPrerequisiteAsHTML()。
我覺得有點難看,想要一個更清潔的解決方案。需要此類的類不是單個繼承層次結構的一部分。
我正在考慮的另一個選擇是在控制器而不是模型中執行此操作。你對此有何看法?
謝謝。
[編輯]:新思想(謝謝賈斯珀)。由於該項目使用struts2(我之前沒有這樣說過),所以我可以創建一個視圖組件,表示會爲我轉換markdown。然後,無論我需要將值顯示爲HTML,我都會使用它。
雖然我沒有看到一個共同的接口如何幫助這裏。我使用struts2的,所以也許我將創建轉換降價爲HTML和滿足「自己的看法」的要求的定製組件。 – 2008-10-31 16:35:21
通用界面將更容易以相同的方式處理所有項目。假設你有一個MarkupEntities組合,你可以簡單地遍歷組合並以多態的方式標記它。 然而,使用一個組件,用於在視圖中標記的解決辦法似乎最好在這種情況下:-) – 2008-10-31 18:22:55