2012-10-16 51 views
0

我已經完成了一個windows項目,其中有一個簡單的下載按鈕,用於從外部門戶網站下載內容。這裏我已經完成了用於CRUD操作的dataaccess類。現在我需要分離UI和業務邏輯層。我的UI代碼看起來有點不整潔。所以我需要創建一個BLL。對於BLL,我可以編寫html解析方法(ProcessHtml)和使用httpwebrequest獲取網頁的html輸出(SendHTTPRequest)的方法以及使用html內容寫入doc文件的方法(WriteToFile)。它會有意義嗎?。簡單地 我可以在BLL中使用以下方法。該項目的體系結構

BLL 
    ProcessHtml() 
SendHTTPRequest() 
WriteToFile() 
+0

不應該有任何HTML在您的業務邏輯... – Guillaume

+0

所以你告訴我使用htmlagility包處理HTML的方法應該是在UI代碼本身。 – sachin

+0

Î會引入另一個名爲DataAccess的圖層 – Tomtom

回答

0

這裏的圖層邊界太薄了,這取決於你想如何編寫你的項目。

什麼會做,在這種情況下,是介紹一些:BridgeLayer,其將UI數據,以適合於存儲/從存儲一些情報retriving的格式。在那一層,我會推HtmlAgilityPack

如果你熟悉MVVM設計,換句話說,它是ModelView層:東西,知道如​​何讓談話UI數據,考慮到他們的格式可能是完全不同的。

+0

好的。那麼其他功能呢,比如發送請求到網頁(SendHTTPRequest)和WriteTOFile(用於將html寫入word)。我可以知道你的建議嗎? – sachin

+0

@sachin:它定義了:發送請求,將在ModelView中離開,在這種情況下,發送請求的人可以將數據從數據模型轉換爲格式UI下的數據。怎麼樣FileWriting,我不知道什麼*和*當你要寫入文件。基於條件,它也可以在數據模型和模型視圖中。 – Tigran