CSLA.NET簡介
CSLA.NET是使用於.NET Framework上的一套免費應用框架。
何謂CSLA.NET? 根據CSLA.NET創立者Rockford Lhotka在著作中所定義:
CSLA.NET是一個被稱為CSLA (Component-based Scalable Logical Architecture) 的底層架構的映射,從而成為一個基於元件的、可擴展的邏輯架構。
這個框架包括物件導向軟體發展的兩個主要領域:
如何使用商業物件高效地構建Windows、Web和服務導向的應用程式;
如何在分散式計算環境中使用物件導向設計。
CSLA.NET的主頁 http://www.cslanet.com/
CSLA.NET應用於商業程式設計中的特點:
驗證規則和商業規則
跟蹤物件是否改變
整合授權
子物件的強類型集合
N層復原能力
用戶介面開發者的簡單抽象模型
支援資料繫結
自定義身份驗證
等…
在實作商業應用程式設計中,將會說明這些特點的應用方式和其效用。
CSLA.NET中商業類別的結構可分為:
可編輯的根物件(Editable root)
可編輯的根集合(Editable root list)
可編輯的子物件(Editable child)
可編輯的子集合(Editable child list)
唯讀的根物件(Read-only root)
唯讀的子物件(Read-only child)
唯讀的根集合(Read-only root list)
唯讀的子集合(Read-only child list)
命令物件(Command object)
名稱/值列表物件(Name/value list)
可切換的物件(Switchable object)
動態可編輯根物件(Dynamic root)
動態可編輯根集合(Dynamic root list)
條件物件(Criteria object)
CSLA.NET常用的商業類別結構範例:
典型的資料列表

放入集合中的物件皆為子物件
子物件宣告程式-- 繼承BusinessBase類別,可建立單獨的、可編輯的商業物件。

根集合宣告程式-- 繼承BusinessListBase類別,可建立可編輯的商業物件集合。

主檔-明細檔(Matser-Detail)資料列表

主檔(Master)根物件宣告程式

在主檔(Master)根物件宣告程式中宣告一個明細檔(Detail)子集合變數,表示主檔包含並控制一個明細檔。CSLA.NET會將兩者連繫在一起,並自動遵行Matser-Detail的存取規則,讓設計者不必花心思在存取規則上。

明細檔(Detail)子集合宣告程式

明細檔(Detail)子物件宣告程式

可編輯物件與唯讀物件的宣告模式是相同的,但唯讀因為不可寫入,所以變數的宣告中只有get方法而沒有set方法,資料存取層(DAL)中也只有從資料庫讀入物件的函式,沒有從物件存入資料庫的函式。
名稱/值列表物件:
名稱/值列表(Name/value list) ,通常是用在ComboBox或DropList等下拉式控制項元件的選項值填充。名稱/值的來源可由資料庫讀取或在程式中直接給定,將設計好的名稱/值列表Model物件繫結於下拉式控制項元件,即可使用。
由資料庫讀取--從資料存取層(DAL)中讀取客戶類型資料TABLE(CustomType)當資料源。


程式中直接給定--將所有進貨屬性值放入ArrayList中當成資料源。


使用CSLA.NET的好處就是只要設計好Model,就可以直接套用在Windows Form、ASP.NET'、ASP.NET' MVC、WPF、Silver等之上,只要在介面部分修改即可,上面兩個典型的資料列表例子就是使用同一組Model套用在Windows Form程式和ASP.NET網站之上。且只要在設定檔上做些許的修改,就能從單機佈署轉換至N層佈署,省掉程式開發者不少時間和麻煩。
請先 登入 以發表留言。