`
380071587
  • 浏览: 447342 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

网上购物系统(Task101)——业务逻辑层BLL(工厂模式实现热插拔)

 
阅读更多

源代码:13033480群共享

面向接口的业务管理层,已经很好地解决了数据库的切换问题,不过,这需要修改业务逻辑层中的两个类Category.csItem.cs中的语句

private staticreadonly ICategory dal =new WestGarden.DAL.Category();

private staticreadonly IItem dal =new WestGarden.DAL.Item();

然后重新编译、运行,相当于冷启动。能不能不再重新编译、运行,直接进行切换,实现所谓的“热插拔”呢?

下面的工厂模式解决了这一问题,你只需要改变一下Web.config配置文件,就可实现这一目标。

【操作步骤】

一、新建类库DALFactory,设置属性,添加引用→.NETSystem.Configuration;添加引用→项目→IDAL

二、添加类DataAccess.cs,代码如下:

using System.Reflection;
using System.Configuration;

namespace WestGarden.DALFactory
{
    public sealed class DataAccess
    {
        private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
        
        private DataAccess() { }

        public static WestGarden.IDAL.ICategory CreateCategory()
        {
            string className = path + ".Category";
            return (WestGarden.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
        }

        public static WestGarden.IDAL.IItem CreateItem()
        {
            string className = path + ".Item";
            return (WestGarden.IDAL.IItem)Assembly.Load(path).CreateInstance(className);
        }
    }
}


三、在Web.config文件中添加如下键值

<addkey="WebDAL"value="WestGarden.DAL"/>

四、业务逻辑层BLL中,添加引用→项目→DALFactory

分别修改Catagory.cs和Item.cs中的语句:

private staticreadonly ICategory dal = WestGarden.DALFactory.DataAccess.CreateCategory();

private staticreadonly IItem dal = WestGarden.DALFactory.DataAccess.CreateItem();

五、编译、运行吧……

会不会有童鞋问:

问:这就是工厂模式?

答:是的。

问:这就是大名鼎鼎的工厂模式??

答:是的。

问:就这么简单???

答:是的。

问:Why ????

有童鞋想回答“How?”的吗??

附冷笑话一则:

有两个渔夫在海边打鱼,一天一个渔夫打上来一条美人鱼,鱼尾巴以上是个超级美女,但是渔夫想了想把她放了,另一个渔夫不解,问:"Why"第一个渔夫耸耸肩,答道:"How?"

版权所有©2012,西园电脑工作室.欢迎转载,转载请注明出处.更多文章请参阅博客http://blog.csdn.com/yousuosi

分享到:
评论

相关推荐

    工厂模式三层架构增删改查分页(BLL层使用事务)源码

    为了实现应用系统(业务逻辑)一次编写即可支持多种数据库,需要使用工厂模式实现多数据库支持。 3.一般情况,我们可以在DAL层使用数据库事务,但较多的业务逻辑放在DAL层,使得BLL层和DAL层职责不清,不利于统一...

    【王继彬】典型三层结构程序设计-第四节:业务逻辑层BLL

    【王继彬】典型三层结构程序设计-第四节:业务逻辑层BLL

    三层架构及设计模式(抽象工厂实现)

    三层架构实现,把表现层(WebUI)与数据访问层(DAL)分开,使用业务逻辑进行处理(BLL), 避免了把数据信息暴露在表现层, 从而提供了程序的性能,使用业务逻辑处理与表现层进行交互, 把表现层的需求,通过...

    什么是三层架构_表现层/业务逻辑层/数据访问层

    三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

    ASP.NET MVC4 EasyUI 三层工厂模式 实现权限管理系统.rar

    ASP.NET MVC4+EasyUI+三层工厂模式 实现权限管理系统 其中Entity为模型实体层类库;DAL为数据访问层类库,主要负责数据库操作;BLL为业务逻辑类库,Common为公共帮助类库,WebUI为用户层。

    ASP.NET MVC4+EasyUI+三层工厂模式 实现权限管理系统.rar

    ASP.NET MVC4+EasyUI+三层工厂模式 实现权限管理系统 其中Entity为模型实体层类库;DAL为数据访问层类库,主要负责数据库操作;BLL为业务逻辑类库,Common为公共帮助类库,WebUI为用户层。

    asp.net2.0项目之Ajax三层个人网站小程序(VS2005+Access)

    Bll——业务逻辑层 Model——构造模型(对应数据库字段) 功能很简单,是学习Ajax/Atlas+MVC(三层)入门的好例子 注意:搭建的时候设置根目录下的AjaxMyPage为站点文件夹 可支持Sql、Access、xml三种数据库(在web...

    Java课程设计-基于java银行自助在线业务系统源码+项目说明.zip

    【资源说明】 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载使用。...业务逻辑层 BLL 表示层 UI 主要功能实现 数据访问层 DAL 业务逻辑层 BLL 表示层 UI 三、运行结果

    什么是系统的三层架构?

    三层架构(3-tierarchitecture)通常是指将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。目的是“高内聚,低耦合”的思想。  一、概念:  三层架构(3-tierarchitecture)通常是指将整个业务...

    基于java的网上招聘系统

    为了满足系统相应快速、便于操作、易于维护的要求,在软件架构上,采用三层体系结构:界面层UI、业务逻辑层BLL、数据访问层DAL;在设计实现上,我们采用:前端视图层、后台应用层;在体系结构上,我们采用的是.NET...

    三层架构工厂模式

    C# 实现的典型三层架构工厂模式 SQLServerDAL Model IDAL DALFactory DBUtility BLL BaseDAL AccessDAL

    工厂模式三层结构示例项目源码

    CodematicDemoF3 是一个基于工厂模式的三层架构示例项目源码,基于VS2005 SP1开发(如果没有装SP1,web项目会打不开),结构更简洁,提供更多有效的示例源码参考。方便用户更好的理解和使用该架构进行开发,配合动软...

    #2 创建业务逻辑层.doc

    #2 |创建业务逻辑层 本文档是 Visual Basic 教程 (切换到 Visual C# 教程) 本教程中,我们将了解怎样将业务规则集中到在表示层与 DAL 之间,充当数据交互中介的业务逻辑层 (BLL) 中。

    教学信息系统 asp+sql

    此外,抽象出来的IDAL模块,除了解除了向下的依赖之外,对于其上的业务逻辑层,同样仅存在弱依赖关系,因为业务逻辑层只需实例化IDAL模块的接口类后,业务逻辑(BLL)层作为接口的访问控制部分,它处于数

    java-web_学生管理系统(完成实现三成架构)

    (2)业务逻辑层(BLL,即Business Logic Layer):Service层     a. 接收表示层的请求及调用     b. 组装数据访问层 (3)数据访问层(DAL,即Data Access Layer):Dao层     直接访问数据库的操作

    ASP.NET工厂模式三层架构增删改查分页源码

    本软件是一个工厂模式三层架构例子程序(★特点与难点是在BLL层使用数据库事务,而不在DAL层使用数据库事务)。程序通过WinForm应用程序实现Sql Server 2005,Sqlite 3的增、删、改、查,分页功能。是学习三层架构、...

    简单三层架构加简单工厂模式

    用简单三层架构和简单工厂模式实现的登录,分成UI、BLL、DAL、IDAL、DALFactory、SQLHelp、Model。

    简单三层代码生成器(Models DAL BLL)

    可以生成简单三层Models DAL BLL

    三层个人网站小程序(Ajax源码)

    三层个人网站小程序(Ajax) Ajax三层个人网站小程序 &lt;br&gt;DAL——数据层 IDAL——数据接口层(控制是选择什么类型的数据库) Bll——逻辑层 Model——构造模型(对应数据库字段) &lt;br&gt;功能很...

    C#代码模板生成器;Model层;DAL层;BLL层代码自动生成

    C#代码模板生成器; Model层;DAL层;BLL层代码自动生成; 连接数据库,查询表字段,创建数据模型; 查询表字段,构造数据逻辑; 查询表字段,构造数据库交互的代码。

Global site tag (gtag.js) - Google Analytics