CRUD全棧式編程概述


業務場景

  CRUD,從數據驅動的角度幾乎所有的的業務都是在做這樣的事情。
  幾乎所有的操作都是在做對表的增刪改查。
  假設我們將數據庫數據規個類:
  分為基礎/配置數據和業務/增長數據,或者說靜態數據和動態數據。
  其中靜態數據是由后台管理員編輯的產生,動態數據是由客戶產生。
  那么這部分中的靜態數據往往伴隨着完整的增刪改查邏輯。
  完整的增刪改查邏輯指的是,有對數據庫某個表數據的查詢。
  一條或者幾條數據的添加,刪除,修改。
  再直白一點就是有個界面,上面有查詢,添加,刪除,修改,導入,導出的按鈕。


設計描述

我針對這上面的情況做了這個設計,技術上用到asp.net mvc和 entityframework的codefirst模式。

由於涉及到從web界面到最底層的數據庫設計 所以我把它叫做CRUD全棧式設計

整體架構如圖所示:

 

簡要說明:

ListLayout是列表頁的布局頁
AddOrEditLayout是添加和修改頁面的布局頁
CrudController 是所有Controller的基類,繼承自Controller
  其中ViewModel是泛型擴展的模型這個維度,為必須
  SearchModel是泛型擴展的查詢實體這個維度,可選
  OrderModel是泛型擴展的排序實體這個維度,可選
ICrudService 是所有服務接口的父接口
  其中三個為泛型擴展維度,和CurdControler一樣
CurdService為所有服務的基類,並且繼承自ICrudService,其中Entity是efcodefirst的實體
Repository 這里借用了NLayerApp中的Repository設計
  SortExpression部分借用了ApWorks中的設計
DB 這里我們用codefirst的話,db我理解起來等同於ef的dbcontext

 


后續

陸續會有幾篇文章詳細說明這個設計  

  1,數據層的設計
  2,服務層的設計
  3,控制器的設計
  4,界面層的設計
  5,mvc擴展的設計
  6 , 導入導出的設計
  7 , 更精簡的設計
  8 , 總結

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM