2010-11-02 72 views
0

維護Web應用程序的不同版本文檔的最佳和最靈活的方法是什麼?如何維護不同版本的報告/文檔?

假設您有一個寵物商店的網絡應用程序。您需要對寵物的信息進行可打印文檔的更改,但這些更改僅對從ax日期創建的每個寵物對象有效,但對於在x之前創建的寵物日期然後使用報告的以前版本。不知何故,保留多個版本的文件,並選擇硬編碼規則似乎凌亂,有沒有其他方式?

+0

您使用的是Microsoft的SQLServer Reporting Services,還是包含reporting-services標籤以指示報告要求? – 2010-11-03 11:11:19

+0

我沒有使用任何報告引擎,這是一個報告要求,但我想標籤在這種情況下是不保證的。我已經刪除它。 – arrages 2010-11-04 13:53:25

回答

0

如果我理解正確,您只需將您的Pet對象綁定到DocumentTemplate對象。你可以現場只需添加到Pet對象:

public class Pet { 

    private final String name; 
    private final Template template; 
    . 
    . 
    . 
} 

這樣你就不需要做類似的檢查:

if (pet.getCreationDate().after(date)) { 
    print(template1); 
} 
else { 
    print(template2); 
} 

但你完全可以這樣做:

print(pet.getTemplate()); 

這如果我正確理解你的話,那將是標準的做法。

+0

正確。但是,你的意思是模板應該存儲在數據庫中? – arrages 2010-11-02 15:41:09

+0

如果這不是一個選項?比如說文檔/報告是在實體存儲在數據庫中之後創建的。 – arrages 2010-11-02 15:42:24

+0

是的,你應該以某種方式連續地綁定它們。我的意思是每個新的'寵物'你也應該綁定一個模板,你也需要綁定你當前的寵物到模板。如果它們已經在數據庫中,則可以根據需要將包含外鍵的模板表製作爲Pets表或類似的東西。我的答案通常是指:如果你不想每次都檢查 - 你應該以某種方式將寵物綁定到模板上。如果你需要更具體的答案給我更多的信息:) – Simeon 2010-11-02 16:21:42