比如我寫了一個類,包含了通信連接,斷開,讀取資料,寫入資料這樣的功能,應該放在哪一層呢?
uj5u.com熱心網友回復:
主要是BLL層,它呼叫DAL訪問資料庫增刪改查,而業務相關的通訊(例如詢問集群里哪一臺機器能夠處理“Word檔案版本比對”功能)操作自然是千奇百怪的BLL功能。當然關鍵是看你封裝到什么程度。如果你只是底層API,那么為了開發效率起見,你還需要進行高層次的封裝。說一下,不要過分糾結“三層”概念。因為你此時可能只能從井底往上看,此時你理解的三層往往是被錯誤概念左右的。等你跳出了藩籬、井底,再來看三層,從管理的角度看而不是單純從技術角度看,會完全不同。
uj5u.com熱心網友回復:
另外要注意,“放在哪一層”這個要求本身其實是不對的。BLL依賴你的通訊庫,而不是把通訊庫說成是什么BLL層代碼。uj5u.com熱心網友回復:
為什么要分層?因為要整體替換成另一個實作,所以需要隔離如果你的通訊的邏輯是需要替換的,比如今天用socket,明天用websocket,那么需要單獨分層,否則誰呼叫,就放在誰那里。
uj5u.com熱心網友回復:
噢,但我這個類沒有包含什么邏輯,僅僅是一些簡單啊的對資料的獲取功能(比如發送讀取),然后再在別的地方呼叫獲取結果進行處理,那么也是放在bll層嗎?
uj5u.com熱心網友回復:
明白了,那如果邏輯需要變化要的話這個要放在哪呢?
uj5u.com熱心網友回復:
單獨分層
uj5u.com熱心網友回復:
不是說變化才需要分層,而是說,要把它的變化和其余部分分離才需要分層,這點要搞清楚uj5u.com熱心網友回復:
三菱FX PLC除錯助手https://download.csdn.net/download/wang420520/12112068
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/71653.html
標籤:C#
