1. 程式人生 > >一個專案中說系統分為表現層、控制層、邏輯層、DAO層和最終資料庫五層架構

一個專案中說系統分為表現層、控制層、邏輯層、DAO層和最終資料庫五層架構

PO(persistant object) 持久物件 
在o/r對映的時候出現的概念,如果沒有o/r對映,沒有這個概念存在了。通常對應資料模型(資料庫),本身還有部分業務邏輯的處理。可以看成是與資料庫中的表相對映的java物件。最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對資料庫的操作。 

VO(value object) 值物件 
通常用於業務層之間的資料傳遞,和PO一樣也是僅僅包含資料而已。但應是抽象出的業務物件,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(資料傳輸物件),在web上傳遞。

TO(Transfer Object),資料傳輸物件
在應用程式不同tie(關係)之間傳輸的物件 

BO(business object) 業務物件 
從業務模型的角度看,見UML元件領域模型中的領域物件。封裝業務邏輯的java物件,通過呼叫DAO方法,結合PO,VO進行業務操作。 

POJO(plain ordinary java object) 簡單無規則java物件
純的傳統意義的java物件。就是說在一些Object/Relation Mapping工具中,能夠做到維護資料庫表記錄的persisent object完全是一個符合Java Bean規範的純Java物件,沒有增加別的屬性和方法。我的理解就是最基本的Java Bean,只有屬性欄位及setter和getter方法!。 

DAO(data access object) 資料訪問物件 
是一個sun的一個標準j2ee設計模式,這個模式中有個介面就是DAO,它負持久層的操作。為業務層提供介面。此物件用於訪問資料庫。通常和PO結合使用,DAO中包含了各種資料庫的操作方法。通過它的方法,結合PO對資料庫進行相關的操作。夾在業務邏輯與資料庫資源中間。配合VO, 提供資料庫的CRUD操作... 

O/R Mapper 物件/關係 對映   
定義好所有的mapping之後,這個O/R Mapper可以幫我們做很多的工作。通過這些mappings,這個O/R Mapper可以生成所有的關於物件儲存,刪除,讀取的SQL語句,我們不再需要寫那麼多行的DAL程式碼了。 

實體Model(實體模式) 
DAL(資料訪問層) 
IDAL(介面層) 
DALFactory(類工廠) 
BLL(業務邏輯層) 
BOF     Business Object Framework       業務物件框架 
SOA     Service Orient Architecture     面向服務的設計 
EMF     Eclipse Model Framework         Eclipse建模框架

----------------------------------------

相關推薦

一個專案系統分為表現控制邏輯DAO最終資料庫架構

PO(persistant object) 持久物件  在o/r對映的時候出現的概念,如果沒有o/r對映,沒有這個概念存在了。通常對應資料模型(資料庫),本身還有部分業務邏輯的處理。可以看成是與資料庫中的表相對映的java物件。最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中

vue專案使用Echarts 動態更改圖表資料 , Vue 折線圖柱狀圖等圖表動態重新整理 ,

問題:在vue元件中,用echarts外掛 動態獲取、修改圖表資料 解決:已解決! 第一步:開啟cmd命令視窗 安裝echarts依賴 安裝:npm install echarts -S 第二步:在main.js中全域性引入   //引入echarts的圖表外掛

把flasktornado同時整合到一個專案,在同一個程序運用起來

單獨把flask和tornado運用起來的例子非常多,可以網上搜索下有很多,這裡就不贅述了。 我想了一種方案就是把flask和tornado同時整合在一個工程中,在同一個程序中跑起來。 我的方案是flask按正常的流程執行起來。 flask 在主執行緒中這樣跑: from

利用maven在一個專案同時打war包jar包

把專案的打包型別設定稱war <packaging>war</packaging> 然後新增: <plugin> <groupId>or

一個專案不能同時出現兩個main函式

 在寫兩個短程式的時候想著把兩個cpp檔案放到同一個專案中比較省空間,然後就出現了下面的問題:main函式已經定義過,然後將專案中的一個含有main函式的cpp檔案刪除之後再執行,可以執行 原因大概是main函式是程式的入口,一個專案中只能有一個 如果覺得建立多個主函式

一個專案打成一個jar包,匯入到另一個專案並呼叫

1.建立兩個專案Import(用於匯入和呼叫jar包的print方法)  ,Export (用於匯出jar包宣告一個print方法,列印一句“倒入成功”) 2.將Export包打包並匯出(在專案上點選右鍵,選擇Export,選擇java目錄下的JAR file) 3.

一個專案呼叫另一個專案的函式

http://blog.csdn.net/lins1393997412/article/details/7454817 http://blog.csdn.net/a5161027/article/details/51409845 http://blog.csdn.net/zhouguoqionghai/

一個專案引用另一個專案的類

在A專案上新增引用,比如你想呼叫B專案的一些類或方法, 在A專案上右鍵-->新增引用(add reference) 選擇本地專案,找到B專案後,新增引用. 程式中使用using B 這樣就可以使用B中的類和方法了.

gradle多專案構建Android (一個專案引用多個庫專案 )(十)

update time:2019-1-11 Author:要你命三千又三千 type:學習筆記 專案分類 前提了解 庫專案(對應的 apply plugin:’ com.android.library) 應用專案(com.android.application)

eclipse中將一個專案作為library匯入另一個專案

2. 下載zip包,解壓,eclipse中import->Android Existing Code->(注意只匯入解壓後下面的Library)3. 匯入後標記為Property->Android->isLibrary4. 將indicator下面的

通過iframe引入另外一個專案的html片段到專案,解決樣式,高度,相容等問題的策略

<!--尾部開始--> <iframe src="http://172.16.24.11:9000/cartoon-web/footer_new"    marginheight=

一個專案匯入多個不同tensorflow模型

剛開始直接採用呼叫一個模型的方法: (1)定義網路 (2)新建sess:sess = tf.Session(config=config) (3)定義saver:saver = tf.train.S

一個專案hibernate框架下配置多個數據庫

hibernate框架下配置多個數據庫 當我們在同一個專案中需要同時連線多個數據庫時,在hibernate框架下的我們可以通過配置多個sessionFactory與多個連線池配置實現獲取不同資料庫的連線session物件。 初始化hibernate的se

一個矩陣連續四個數字(行,列,正反對角線)乘積的最大值。

最近在project Euler題目上,見到一個題覺得不錯,就花時間做了一下。 問題: a=[ [8, 2, 22,97,38,15,0,40,0,75, 4, 5, 7,78, 52, 12, 50, 77, 91, 8], [49 ,49 ,99 ,

Python計算一個專案含有的程式碼行數

最近想要知道以前做過的project有多少行程式碼,因為檔案太多,直接手工數效率太低,於是編寫一個python程式用來計算一個project有多少程式碼行。 首先,在一個專案中,有很多子資料夾,子資料夾中又包含子資料夾,然後子子資料夾下面有很多java原始碼。我們首先獲取s

Eclipse一個Web專案引用另一個專案的類

本文引自 - 今天做了個小實驗,把公用的類單獨放到一個Project中,在其他專案中引用該Project。均為Web Project。 一開始,專案屬性Java Build Path中add就可以,編譯錯誤就會消失了。但是在釋出啟動時,會報java.l

一個專案,建立多個工程檔案多個目錄建立方法

個人建議直接看文章的最後部分的那種方法,那種方法容易上手,前面幾種很麻煩很累原始碼地址:https://download.csdn.net/my這個程式碼肯定有用,保證能執行。是我自己寫1、在D盤建立空資料夾qMulti 2、使用Qt Creator建立App應用程式:Big

UE4 將一個專案的地形匯出並將其匯入給其他專案使用

       下載了幾個ue4的官方Demo學習後,想要按照Demo自己手動復現一下專案 但是在 VehicleGame 和 LandscapeMountains等具有地形的專案中,如果自己使用地形工具編輯專案 是很難實現與Demo中的專案地形完全相同的。但是怎麼將其應用到

如何在一個專案相容WepyTaro?

背景交待 NJ 專案啟動初期,團隊技術棧主要是基於 Vue,技術選擇上就選擇了類 Vue 的 wepy。迭代幾個版本後 mpvue 出來了,簡單調研了下,準備基於 mpvue-simple 開發部分頁面,如果可行再慢慢切換其它頁面,嘗試後遇到一些問題,就暫時擱置了,還是沿用的 wepy 繼續開發。 Taro

一個專案:只能存在一個 WebMvcConfigurationSupport (靜態檔案失效之坑)

一個專案中:只能存在一個 WebMvcConfigurationSupport 在一個專案中WebMvcConfigurationSupport只能存在一個,多個的時候,只有一個會生效。 靜態檔案訪問失效原因:寫配置的時候,沒有注意,在網上找的程式碼,靜態檔案放行的配置,在幾天前經過各種嘗試,什麼appl