1.1
資料
-元資料
-元元資料的三層結構
資料:指業務系統中儲存的業務資料。
元資料:即資料的資料,乙個物件的元資料用來描述此物件。
元元資料:元資料的元資料。
1.2
ecc
(engine-collection-class
)模式資料訪問
在乙個系統的業務實體或資料物件中,實體的主要操作有:初始化、讀取資料、刪除、儲存資料等等,實體的主要屬性有:實體例項的資料、實體的元資料、實體的狀態等等。
當表示乙個業務實體的多個例項(如十個使用者的集合)時,我們一般都採用系統提供的集合或資料來儲存,這種方法實現起來簡便,但當我們對這些例項再進行操作時,一方面會增加複雜性,也有可能會大大降低效率,並且不太容易進行擴充套件和修改。
在ecc
模式中,我們將乙個資料物件操作和資料分離,
engine
主要負責資料物件的訪問和初始化操作,完成資料物件例項的建立,
class
主要用來表示資料物件的乙個例項,包括例項的資料和例項的元資料、狀態等等。然後我們將表示資料物件例項集合的型別也進行封裝,用
collection
來表示,其中封裝相應的操作和屬性,如集合中元素個數、增加或刪除乙個元素、訪問指定位置的元素等等。此模式模型如下圖所示:
1.3
collection-class
的資料儲存方式
collection
在記憶體中的資料儲存我們可以看作是乙個二維的**,在**中第一行代表乙個資料物件例項,**的行數即為
collection
中的元素個數。**的每一列代表資料物件的乙個屬性,資料物件的位置確定,屬性名稱確定,即可以確定相應的屬性值。
class
對應collection
的二維**上的一行,在設計時,我們在
class
中不儲存具體的資料,只儲存
class
所在的collection
的引用和
class
在collection
中的位置,這樣我們就可以實現
class
的各個屬性的訪問。
1.4
使用方法 1)
資料訪問配置工具:生成配置檔案
.config
初始化配置檔案、提供定製工具對配置檔案進行定製等等。 2)
資料物件定製工具:定製資料物件 3)
資料物件資料匯入匯出工具:
對資料庫中的資料物件的資料進行匯出和匯入操作。
**示例一:
//public string example() //
**示例二:
///
///
表示乙個使用者物件。
///
public
class user:classgeneral
set }
///
///使用者登陸名稱
///
///
public
string name
set }
///
///使用者真實名稱
///
///
public
string truename
set }
///
///
使用者密碼
///
///
使用者密碼
public
string password
}
public
bool passswordis(string val)
///
///
使用者描述
///
///
使用者描述
public
string description
set }
public guid fgid
set }
public guid dgid
set }
public
int sequence
set }
///
///使用者所在的組
///
///
使用者所在的組
public department department
else
} }
}
///
///
表示使用者物件的集合。
///
public
class usercollection:collectiongeneral
}
///
///
用來訪問使用者物件的資料。
///
public
class userengine:enginegeneral
public
static user newuser()
public
static
bool update(user col)
///
///
根據使用者id查詢使用者物件。
///
///
使用者id
///
得到的使用者物件
public
static user searchbyid(string struserid)
///
///
根據部門id,查詢部門中人員的集合
///
///
部門id
///
滿足條件的使用者集合
public
static usercollection searchbydeptid(string strdeptid)
///
///
根據角色id,查詢部門中人員的集合。
///
///
角色id
///
滿足條件的使用者集合
public
static arraylist searchbyroleid(string strroleid)
}
return userlist; }
///
///根據崗位的id,查詢崗位中的人員集合
///
///
public
static usercollection searchbyposid(string strdeptid,string strroleid)
public
static usercollection searchall()
public
static usercollection searchbyname(string username)
}
要點:
1.
三個關鍵的類
enginegeneral
:擴充套件此類主要是提供更具體的資料訪問操作,如此類提供的讀取資料的操作一般是賦予查詢內容、查詢規則等屬性後,進行讀取資料物件的功能,在此基礎上可以擴充套件出具體業務物件的訪問操作,如對於
user
物件的查詢引擎的可以擴充套件方法
getbyuserid
、getbyusername
、updateusercollection
、updateuser
等等。collectiongeneral
:此類封裝資料物件集合的資料和基本操作方法,如對資料物件的訪問、基於此集合的記憶體查詢等等,但都是較通用的方法,擴充套件此類主要是提供更通用的操作,如對
user
物件的集合物件可以擴充套件方法
finduserbyid
、findbyname
等等。classgeneral
:此類提供對資料物件的資料的封裝,所有資料物件的屬性以屬性列表的形式提供,所以在訪問時前提是要知道所訪問屬屬的名稱,並且在編碼時不能使用
ide提供的智慧型提示功能,對此類的擴充套件主要是硬編碼物件的屬性,以利於訪問者的使用。如對
user
的物件類可以擴充套件屬性:
userid
、name
、description
等等。但是由於單個物件還可能包括其它的操作,如使用者密碼在資料庫儲存的加密、訪問此使用者物件的部門屬性等等,可以在此類中擴充套件。
2.
對上面三個類的封裝
userengine:enginegeneral
usercollection:collectiongeneral
user:classgeneral
資料訪問層
using system.collections.generic using system.data using system.data.common namespace adonetdataaccess.core.contract 上面的介面包括增刪改查,批量插入以及 資料庫連線物件的連線和關閉等...
資料訪問層
1 資料持久化 持久化是將程式中資料在瞬時狀態和持久狀態間轉換的機制。jdbc是一種持久化機制,將程式直接儲存成文字檔案也是持久化機制的一種實現。2 資料訪問模式 dao模式 dao dataaccessobjects,資料儲存物件 是指位於業務邏輯和持久化資料之間實現實現對持久化資料的訪問。dao...
資料訪問層
資料訪問層 一.持久化 是將程式中的資料在瞬間狀態和持久狀態間轉換的機制 二.主要持久化操作 1.儲存 2.刪除 3.修改 4.讀取 5.查詢 等 三.dao dataaccessobjects,資料儲存物件 指位於業務邏輯和持久化資料之間實現對持久化資料的訪問。四.dao模式的優勢 1.隔離了資料...