[Visual Studio & Xamarin] 开发架构(二)-Repository与Entity Framework
来源:互联网 发布:office2013激活软件 编辑:程序博客网 时间:2024/05/27 20:25
開發架構是我覺得很重要的一個環節,也聽過許多前輩各種不一樣的開發架構概念。每種想法概念都個有長處,很難比較出那種是一定最好的。
所以我認為就是選擇最適合你,用起來順手,專案能順利的完成與驗收就是一個屬於你的最佳解。接著來延伸上一個章節關於IOC反轉控制研究的部分,要討論的是軟體架構設計中的系統邊界物件(Repository)與Entity Framework的結構。
在iOS與Android的開發架構都是依循著MVC的架構,不過在細節與實作上方式都不一樣。在微軟的MVC網頁中,我個人覺得有些部分是滿不錯
,像是習慣取代配置的檔案分層方式。所以我把一些結構概念加進了iOS與Android,幫助我在開發時的專案結構規劃,
這邊就分享一下我的作法給大家參考。下圖是我用在iOS還有Android開發上的架構,不論是使用Xamarin或者是Xcode的原生開發,都可以
使用上這樣的結構。不過在開始講下列架構前,在這一篇我還是先用一個Entity Framework來簡單表達系統邊界的開發方法,後面的章節再進入
到Android或者是iOS上。
前置準備,建立一個SQL Server資料庫。
我在SQL Server裡面建立了一個Test資料庫,在Test資料庫裏面建立了一個Table1資料表
裡面的資料欄為如下:
1. 新增一個主控台應用程式,命名為Repository_Entity。
2.建立一個Entity Framework的資料模型的資料來源。
在專案中選擇[加入新項目],然後建立一個ADO.NET 實體資料模型。
2.1在選擇模型內容,選擇從資料庫產生。
2.2然後選擇要連接的資料庫,選擇在我的SQL Server環境中的建立的Test DB。
2.3模型物件選擇Table1資料表。
3.建立類別圖表
加入一個類別圖表的新項目。
3.1建立DataAccess Object interface 邊界物件,並且宣告IQueryable<Table1> GetData();方法
1
namespace
Repository_Entity
2
{
3
public
interface
DAORepository
4
{
5
IQueryable GetData();
6
}
7
}
01
namespace
Repository_Entity
02
{
03
public
class
DAO : DAORepository
04
{
05
//建立TestDB的Entity物件
06
TestEntities TestDB =
new
TestEntities();
07
08
//實作GetData()方法
09
public
IQueryable GetData()
10
{
11
var Result = from x
in
TestDB.Table1
12
select x;
13
return
Result;
14
}
15
}
16
}
01
namespace
Repository_Entity
02
{
03
public
class
Factory
04
{
05
public
static
DAORepository GetDAO()
06
{
07
return
new
DAO();
08
}
09
}
10
}
01
namespace
Repository_Entity
02
{
03
class
Program
04
{
05
static
void
Main(
string
[] args)
06
{
07
//呼叫Factory.GetDAO();方法來傳入DAO物件
08
DAORepository daoobj = Factory.GetDAO();
09
10
//取得GetData()方法回傳的IQueryable
11
var test = daoobj.GetData();
12
13
//使用Foreach來列出IQueryable 物件內容
14
foreach
(var r
in
test)
15
{
16
Console.WriteLine(r.test01 +
"\t"
+ r.test02);
17
}
18
Console.ReadLine();
19
}
20
}
21
}
以上完成了用Entity Framework與Repository來實作系統邊界的概念,這個概念建立起來後,
後續就可以開始把這個結構概念導入進行動裝置的開發上。
- [Visual Studio & Xamarin] 开发架构(二)-Repository与Entity Framework
- [Visual Studio & Xamarin] 开发架构(三)- 跨平台的MVVMCross与portable class library-Android
- [Visual Studio & Xamarin] 开发架构(一)-IOC 翻转控制
- [Visual Studio & Xamarin] 开发架构(四)-跨平台的MVVMCross与portable class library–Windows Phone 8
- Visual Studio 2010安装Entity Framework办法
- Visual Studio 2010安装Entity Framework方法
- Entity Framework Repository模式
- Entity Framework 架构简介
- Entity Framework架构
- Entity Framework 架构概览
- [转]Xamarin-Visual Studio开发iOS、Android应用
- Visual Studio 2012+Xamarin开发安卓应用
- Visual Studio 跨平台开发实战(1) - Hello Xamarin!
- Visual Studio 2012+Xamarin开发安卓应用
- 使用Xamarin+Visual Studio搭建Android开发环境
- 用Visual studio和Xamarin构建移动开发平台
- Visual Studio 跨平台开发实战--- Hello Xamarin! [Visual Studio + C# + Xamarin = iOS/Android/Windows Apps ]
- SharePoint Framework(十一)使用Visual Studio开发
- LRU cache的一个简单实现
- 作为一个新人,怎样学习嵌入式Linux?(韦东山)
- findmaven的英文版本上线了
- View 和surfaceView
- 有图有真相:一身行头七万八 想做花儿不容易
- [Visual Studio & Xamarin] 开发架构(二)-Repository与Entity Framework
- 网站优化误区有哪些,怎么样做网站的内容?
- Struts2动态方法调用,找不到Action
- Hibernate基本手法
- androi开发中,如何避免内存泄露 .
- hive参数——深入浅出学Hive
- 港媒称李心洁考虑离婚 张艾嘉对彭顺怒不可遏
- 一道关于奥运奖牌排序的题
- Windows平台下VIM环境搭建