小專案開始未分層,但後來業務複雜,如何改進?
以前寫java,一直是資料層,業務層,表現層,這麼寫。最近用到.net,開始很生疏,感覺.net的框架發展還不是很成熟,orm框架也不敢用,不熟悉。
想自己寫實體,但是又麻煩,每個資料表一個類,類的封裝也很麻煩,比如表30個欄位,頁面來的資料我要set30次,構造成物件,然後傳給業務方法,然後再get30次,構造sql語句插入到資料庫中,實在恐怖。
有因為公司小,業務簡單,就沒有用三層寫。於是我就分出2層來,一個資料庫的訪問類,算是一層吧。至於業務,就是簡單的增刪改查,sql語句搞定吧。
後來根據需求要做許可權管理。設定每個使用者操作每張表的增刪改查許可權,都搞定了。不過,我要在所有的增刪改查操作中侵入一段程式碼:
UserInfo ui = (UserInfo)Session["user"];//取當前使用者
RightOper ro = new RightOper();
ro.Oper = ro.INS;//當前操作為增加操作
if (!RightManager.isRight("t_travel", ro, ui))//如果沒有對錶t_travel增加許可權的操作
{
Response.Write("<script>alert('您沒有操作許可權');window.location='travel_list.aspx'</script>");
}
else { //反之有許可權
...//原始碼
}
雖然能實現,帶感覺對原來的程式碼侵入太多,邏輯不高畫質晰,而且很繁瑣,所有的增刪改查,都有套上這麼一層套,實在很蹩腳。如何在不用框架的情況下實現類似java的面向切片的功能,或者有什麼更好的解決方案。
想自己寫實體,但是又麻煩,每個資料表一個類,類的封裝也很麻煩,比如表30個欄位,頁面來的資料我要set30次,構造成物件,然後傳給業務方法,然後再get30次,構造sql語句插入到資料庫中,實在恐怖。
有因為公司小,業務簡單,就沒有用三層寫。於是我就分出2層來,一個資料庫的訪問類,算是一層吧。至於業務,就是簡單的增刪改查,sql語句搞定吧。
後來根據需求要做許可權管理。設定每個使用者操作每張表的增刪改查許可權,都搞定了。不過,我要在所有的增刪改查操作中侵入一段程式碼:
UserInfo ui = (UserInfo)Session["user"];//取當前使用者
RightOper ro = new RightOper();
ro.Oper = ro.INS;//當前操作為增加操作
if (!RightManager.isRight("t_travel", ro, ui))//如果沒有對錶t_travel增加許可權的操作
{
Response.Write("<script>alert('您沒有操作許可權');window.location='travel_list.aspx'</script>");
}
else { //反之有許可權
...//原始碼
}
雖然能實現,帶感覺對原來的程式碼侵入太多,邏輯不高畫質晰,而且很繁瑣,所有的增刪改查,都有套上這麼一層套,實在很蹩腳。如何在不用框架的情況下實現類似java的面向切片的功能,或者有什麼更好的解決方案。
相關文章
- 如何弄懂複雜專案
- 如何減小ABAP業務程式碼的複雜度複雜度
- 如何建立複雜的機器學習專案?機器學習
- 業務複雜度不夠,如何深挖複雜度
- 軟體開發到底是業務複雜還是UI複雜UI
- 如何建立複雜專案的WBS結構(轉)
- 專案管理從改變團隊開始 (轉)專案管理
- 如何將複雜的應用邏輯從儲存過程移植到業務層儲存過程
- 專案複雜度模型(轉)複雜度模型
- 如何開始參與開源專案?
- 如何將複雜專案分解為可管理任務?
- 複雜的IT專案如何管理 有哪些管理要點
- 如何利用前後端分離開發模式,開始一個專案?後端模式
- git管理複雜專案程式碼Git
- 專案開始到最後的移交,大家是如何進行的?
- 如何管理前端專案中的複雜依賴關係前端
- 面對複雜業務,if-else coder 如何升級?
- 複雜任務專案管理Project Office專案管理Project
- 越做越複雜的軟體工程專案軟體工程
- React、Redux與複雜業務元件的複用ReactRedux元件
- 開發複雜業務系統,有哪些設計思路
- 開源專案MergeAdapter,實現ListView複雜佈局APTView
- 一文教會你如何寫複雜業務程式碼
- steam開始遊戲後自動取消如何處理_steam遊戲開始後立馬自動結束脩複方法遊戲
- Datawhale-MySQL-任務六(複雜專案)MySql
- 專案需求討論-Vlayout來快速構建及擴充套件複雜介面套件
- 從零開始的 Android 新專案(6):Repository 層(下)Android
- 從零開始的 Android 新專案(5):Repository 層(上)Android
- 開始一個專案
- 精讀《維護好一個複雜專案》
- 改進您的SOA 專案規劃
- 數字化轉型:從小專案開始更有優勢
- 原生專案如何從零開始整合 React NativeReact Native
- win10機械硬碟複製檔案速度一開始快後來變慢怎麼修復Win10硬碟
- 大中臺模式下如何構建複雜業務核心狀態機元件模式元件
- 深入解析LLaMA如何改進Transformer的底層結構ORM
- 研發專案改進例項(上)(轉)
- 研發專案改進例項(下)(轉)