您的位置:首页 > 编程语言

这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的面向接口编程了吧。

2014-07-26 09:01 316 查看
这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的面向接口编程了吧。

假设现在有如下情况,某项目的框架结构用的是ADO.NET写的简单三层。且已经开始写了一部分了。现在因为时间比较紧急,经理认为用EF写速度会快一些,于是要求我们将访问驱动层改成用EF写的。

那么,恩,好吧,我们得改了。先看一下原来DAL层和BLL层的代码。因仅演示而已,此处只写了一个大概思路的代码。另外此处笔者只打算写一个DAL层了BLL层的一个松耦合的一个渐近过程的处理。方法只写一个。诸位见谅。主要是要有那个思路。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Anmutu.OA.AdoNetDAL;
using Anmutu.OA.DAL;//添加EF层的程序集。
using Anmutu.OA.Model;

namespace Anmutu.OA.BLL
{
public class UserService
{
#region 实现接口后的代码
//IDAL.IUserDal userDal=new UserAdoNetDal();//当要用到ADO.NET作为访问驱动时。
IDAL.IUserDal  userDal=new UserEFDal();//当要用到EF作为访问驱动时。
public User AddUser(User user)
{
return userDal.AddUser(user);
}
#endregion
#region 用EF作为访问驱动层时的代码。
//private DAL.UserEFDal _userEfDal = new UserEFDal();
//public User AddUser(User user)
//{
//    return _userEfDal.AddUser(user);
//}
#endregion
#region 用ADO.NET作为访问驱动层时的代码
//private AdoNetDAL.UserAdoNetDal userAdoNetDal = new UserAdoNetDal();
//public User Add(User user)
//{
//  return  userAdoNetDal.AddUser(user);
//}
#endregion
}
}


BLL层的代码(注意对比)
如果要换访问驱动层的话,请看图:



是的,只需要在如图的位置new一个不同的就好了。且VS会给我们提示。

这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的面向接口编程了吧。

攻城狮戊说,可是我可能会有很多服务的地方都用到这个实例,那我都得改么?这样写很麻烦的感觉呢。

李宁说过一句话,他说,一切皆有可能。所以,是的,也许以后园子时会多一篇叫做“这个好像、也许、或许、大概、应该、Maybe真的可以算是传说中的简单工厂了吧”的文章。

笔者写的都是很简单的东西。欢迎指正,共同进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐