在本系列的第一篇中,我們曾經描述了本系統的整個實現結構,可以檢視第一篇。
在客戶端的實現我們將採用
mvp模式來實現,就是將客戶端再分為二層,ui及
presenter,
ui主要是定義介面的元素及響應客戶的操作。
presenter
主要是對
ui層響應客戶端操作的業務處理。關於
mvp的一些知識,如果不太清楚可以檢視
mvp中的model
我們不需要實現了,因為
wcf服務將會給我們提供相應的
model.
下面我們新建乙個類庫
demo. presentation,
同時新增上次建立的
wcf的服務的引用。(先要執行
demo.
同時注意要點下圖的高階,將返回的集合型別設為泛型
list。
由於我們的
ui業務相當的簡單,就是對
employee
物件進行增刪改查。因此首先我們定義
mvp中的
view
介面using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
demo.presentation.wcfservice;
namespace
demo.presentation
//////員工列表
///
list
users
//////新增事件
///
event
voideventhandler onaddnewemp;
//////刪除
///
event
voideventhandler ondeleteemp;
//////更新
///
event
voideventhandler onupdateemp;
//////
初始事件
///
event
voideventhandler prepareview;
}
//////
定義員工業務的操作
///
public
inte***ce
iuserpresenter
}
presenter
的真正實現:
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
demo.presentation.wcfservice;
namespace
demo.presentation
void view_prepareview()
#region
iuserpresenter 成員
public
void addnewuser()
}
public
void deleteuser()
}
public
list
getusers()
}
public
void updateuser()
}
#endregion
}
}
}
現在我們來實現客戶端的ui。當然ui要響應使用者的操作,會呼叫到demo.
presentation
。但其本身不會直接處理任何資料。
新增乙個window類庫demo.ui
using
system;
using
system.collections.generic;
using
system.componentmodel;
using
system.data;
using
system.drawing;
using
system.linq;
using
system.text;
using
system.windows.forms;
using
demo.presentation.wcfservice;
using
demo.presentation;
namespace
demo.ui
#region
iuserview
成員employee _currentemployee = null;
public
employee currentemployee
set}
public
list
users
}
public
event
voideventhandler onaddnewemp;
public
event
voideventhandler ondeleteemp;
public
event
voideventhandler onupdateemp;
public
event
voideventhandler prepareview;
#endregion
private
void cmddelete_click(object sender, eventargs e)
}private
void cmdrefresh_click(object sender, eventargs e)
private
void cmdadd_click(object sender, eventargs e)
private
void cmdupdate_click(object sender, eventargs e)
}
//////判斷網格是否有選擇的
///
employee selectedemployee
} }
}
我們的介面實現了iuserview介面,在介面裡只處理最基本的一些操作,而資料訪問的實現實際是是由iuserpresenter來完成的。當有使用者操作時,只需引發一些相關的事件。如果要進行ui的移植,那麼相應的工作量將會大大的減少。
僅僅是乙個demo相對來說比較的簡單,實際在使用ef時真的很難用。很多最終的sql語句我發覺都不是自己想要的那種簡單的。搞得太複雜了。網上的資料也比較少,同時也遇到了很多的難題。以後我會講一下ef中遇到的問題。
OSI七層網路模型與TCP IP四層網路模型
osi七層模型 osi中的層 功能 tcp ip協議族 應用層 檔案傳輸,電子郵件,檔案服務,虛擬終端 tftp,http,snmp,ftp,smtp,dns,telnet 表示層 資料格式化,轉換,資料加密 沒有協議 會話層 解除或建立與別的接點的聯絡 沒有協議 傳輸層 提供端對端的介面 tcp,...
OSI七層網路模型與TCP IP四層網路模型
osi模型,即開放式通訊系統互聯參考模型 open system interconnection,osi rm,open systems interconnection reference model 是 國際標準化組織 iso 提出的乙個試圖使各種計算機在世界範圍內互連為網路的標準框架,簡稱osi...
OSI七層網路模型與TCP IP四層網路模型
1.osi網路分層參考模型 網路協議設計者不應當設計乙個單 一 巨大的協議來為所有形式的通訊規定完整的細節,而應把通訊問題劃分成多個小問題,然後為每乙個小問題設計乙個單獨的協議。這樣做使得每個協議的設計 分析 時限和測試比較容易。協議劃分的乙個主要原則是確保目標系統有效且效率高。為了提高效率,每個協...