标签:style blog http color os strong io 文件
这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的简单工厂了吧
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using Anmutu.OA.AdoNetDAL;
7 using Anmutu.OA.DAL;
8
9 namespace Anmutu.OA.DalFactory
10 {
11 public class DalSimpleFactory
12 {
13 public static IDAL.IUserDal GetUserDal()
14 {
15 //return new UserAdoNetDal();//这样就是访问一个Ado.net的访问驱动层。
16 return new UserDal(); //这样就是创建一个EF的数据访问驱动层。
17 }
18 }
19 }
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7 using Anmutu.OA.Model;
8
9 namespace Anmutu.OA.IDAL
10 {
11 /// <summary>12 /// 创建一个接口,约定其返回类型是User类,参数是一个user实体。
13 /// </summary>14 interface IUserDal
15 {
16 User AddUser(User user);
17 }
18 }
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using Anmutu.OA.IDAL;
7 using Anmutu.OA.Model;
8
9 namespace Anmutu.OA.AdoNetDAL
10 {
11 public class UserAdoNetDal:IUserDal//此处实现接口里的方法。因为接口里的方法名字也就AddUser,这里就没有必要CTRL+SHIFT+...了。我用的是Resharper插件,也就不用点实现了。12 {
13 public User AddUser(User user)
14 {
15 //在此处写一此插入的一个SQL.会用到DBSQLHelper.using()...写就是一个insert操作。16 return null;
17 }
18 }
19 }
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using Anmutu.OA.IDAL;
7 using Anmutu.OA.Model;
8
9 namespace Anmutu.OA.DAL
10 {
11 public class UserEFDal:IUserDal//这里实现接口。
12 {
13 public User AddUser(User user)
14 {
15 //得到的EF上下文,DBFirst不用解释了吧。
16 AnmutuModelContainer db = new AnmutuModelContainer();
17 //加到DB里去。
18 db.UserSet.Add(user);
19 //保存
20 db.SaveChanges();
21 return user;
22 }
23 }
24 }
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using Anmutu.OA.AdoNetDAL;
7 using Anmutu.OA.DAL;//添加EF层的程序集。
8 using Anmutu.OA.Model;
9
10 namespace Anmutu.OA.BLL
11 {
12 public class UserService
13 {
14 #region 用到简单工厂后的代码
15 private IDAL. IUserDal userDal = DalFactory.DalSimpleFactory.GetUserDal();
16 public User AddUser( User user)
17 {
18 return userDal.AddUser(user);
19 }
20 #endregion
21
22 #region 实现接口后的代码
23
24 // IDAL.IUserDal userDal = new UserAdoNetDal();//当要用到ADO.NET作为访问驱动时。
25 // IDAL.IUserDal userDal = new UserDal();//当要用到EF作为访问驱动时。
26 //public User AddUser(User user)
27 //{
28 // return userDal.AddUser(user);
29 //}
30
31 #endregion
32
33 #region 用EF作为访问驱动层时的代码。
34
35 //private DAL.UserEFDal _userEfDal = new UserEFDal();
36 //public User AddUser(User user)
37 //{
38 // return _userEfDal.AddUser(user);
39 //}
40
41 #endregion
42
43 #region 用ADO.NET作为访问驱动层时的代码
44
45 //private AdoNetDAL.UserAdoNetDal userAdoNetDal = new UserAdoNetDal();
46 //public User Add(User user)
47 //{
48 // return userAdoNetDal.AddUser(user);
49 //}
50
51 #endregion
52 }
53 }
这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的简单工厂了吧,布布扣,bubuko.com
这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的简单工厂了吧
标签:style blog http color os strong io 文件
原文地址:http://www.cnblogs.com/anmutu/p/3886257.html