我正在爲CAD圖紙的VB.NET批量PDF導出程序工作。程序運行良好,但架構混亂。基本上,一個大的功能從頭到尾都需要整個過程。我想做一個或幾個單獨的課程來完成出口工作。一個班級如何從另一個班級請求信息?
這裏的問題:
有時將由我的程序創建的PDF文件已經存在。在這種情況下,我想問用戶他/她是否要覆蓋現有的PDF。我只想要這樣做,如果實際上有些東西會被覆蓋,我只想這樣做一次。換句話說,「是」=「對所有人都是。」這個表單(它將調用這個新的PDF導出類)似乎是錯誤的,它會計算出哪些PDF文件將被調用,以及是否有任何覆蓋。事實上,最好在處理單個CAD圖紙時確定PDF文件的名稱(因爲我可能想要使用在後臺加載CAD程序中的文件後纔可用的信息)。
這裏的問題:
我應該如何處理提示用戶的進程?我想將所有的GUI邏輯(甚至像對話框一樣簡單)保存在我的PDF導出類中。我需要一種方法讓PDF導出類說:「嘿,我需要知道是否應該覆蓋或跳過此文件」,並且表單類(或任何其他類)說:「嗯,好的,我會詢問用戶並回復你。「
似乎應該有一些模式來處理這種情況。它是什麼?
後續處理:
活動:看起來這是一個很好的路要走。這是關於什麼代碼應該看起來像在PDF導出類?
Dim e As New FileExistsEventArgs(PDFFile) RaiseEvent FileExists(Me, e) If e.Overwrite Then 'Do stuff here End If
一個瘋狂的想法:關於通過委託職能的PDF出口類來處理覆蓋情況下導出方法是什麼?
什麼是你的目標:可維護性,通用(計劃使用具有相同接口的另一導出格式),或兩者兼而有之? – 2009-02-13 14:03:33
主要目標是可維護性。 – 2009-02-13 14:26:19