SummerRain

软件开发/信息安全
随笔 - 246, 文章 - 0, 评论 - 240, 阅读 - 36万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)

 

 

7.3 数据访问层工厂HomeShop.DALFactory

 

 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Reflection;
 7 using System.Configuration;
 8 
 9 namespace HomeShop.DALFactory
10 {
11     public sealed class DataAccess
12     {
13         private static readonly string path = ConfigurationManager.AppSettings["DAL"];
14 
15         private DataAccess() { }
16 
17         public static Object CreateDAO(string className)
18         {
19             return Assembly.Load(path).CreateInstance(path + "." + className);
20         }
21     }
22 }
复制代码

 

 

7.4 数据访问层接口HomeShop.DALInterface

IOrderDAO.cs

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Data;
 7 using HomeShop.Model;
 8 
 9 namespace HomeShop.DALInterface
10 {
11     public interface IOrderDAO
12     {
13         int Add(Order order);
14         int Update(Order order);
15         int Delete(int orderID);
16         List<Order> GetList();
17         List<Order> GetList(string customerName);
18         Order GetSingle(int orderID);
19     }
20 }
复制代码

 

IOrderItemDAO.cs

 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Data;
 7 using HomeShop.Model;
 8 
 9 namespace HomeShop.DALInterface
10 {
11     public interface IOrderItemDAO
12     {
13         List<OrderItem> GetList(int orderID);
14     }
15 }
复制代码

 

IOrderStateDAO.cs

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//新添命名空间
using System.Data;
using HomeShop.Model;

namespace HomeShop.DALInterface
{
    public interface IOrderStateDAO
    {
        List<OrderState> GetList();
    }
}
复制代码

 

 

源码下载:/Files/SummerRain/NetDbDevRoad/7使用ADONET实现工厂模式DB切换.rar

数据下载:/Files/SummerRain/NetDbDevRoad/HomeShopDB.rar

 

 

 

 

 

 

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示