我目前正在構建一個Web應用程序,它將從數據庫獲取一些信息,並用該信息替換Word文檔中的某些文本。然後文件將被保存到預定義的位置。.NET MVC:在許多未編譯的.cs文件中運行一段代碼?
現在的問題是,當開發開始時,我們正在談論5個文檔,但現在我們正在研究20多個文檔,並且文檔可能會隨時間而改變。我的初衷是爲每個文檔「硬編碼」類。但現在,這似乎是一個非常愚蠢的想法。
該方法的簽名可能類似於:void Generate(string template, string outputFileName);
。這是如何以最好的方式完成的?假設我創建了一個接口IGenerator
,它定義了生成方法和描述當前「插件」的一些方法。然後,我可以簡單地將.cs文件(或dll)與一個類在某個目錄中實現該接口然後讓應用程序找到所有這些並讓用戶選擇一個?
編輯:有沒有一種很好的方式來添加/編輯/刪除這些Document
類 - 而不必重新編譯整個應用程序或庫與所有類?我希望每個文檔類都能代表自己。我讀過這article,這可能是我的最佳選擇?
謝謝。
謝謝。我現在意識到我的另一個問題在原文中有點隱藏。仍然存在的問題是這些文檔可能會改變/更多可以添加等等,所以我還要求一種改變/編輯/添加新的'Document'類的好方法,而不必重新編譯比實際更多的需要。原始帖子更新了更多信息。 – JLe
對於您正在處理的文檔,我還有點不確定。當你說「這些文件可以更改/更多可以添加」你的意思是文件的類型?它們有什麼不同 - 佈局,顯示方式,數據庫字段?他們都是Word文檔,不是嗎? – ChrisBD
Word和Excel文檔。這些可以是信件,PM,項目計劃,說明等等。從一開始就會有一個下午,一個計劃等等。現在看起來他們將能夠「在這裏我想能夠生成另一種類型的(Word-)文檔」。所以我必須爲每種類型(PM,字母等)構建一個類,以從數據庫中提取所有信息並將其放入文檔中。現在的問題是,在我「完成」一週後,他們可能會說「我們需要一種新類型的文檔」。因此我正在尋找一些不錯的插件平臺,這樣我只需要上傳一個文件而不需要重新編譯。 – JLe