首页 数据库 mysql教程 DALFactory有什么作用

DALFactory有什么作用

Jun 07, 2016 pm 03:57 PM
a data 什么 作用

DAL是指Data Access Layer,DALFactory是用于创建数据访问对象的工厂,本质上是采用了抽象工厂的设计模式,目的是支持多种数据访问层,比如sql server和oracle两种实现;同时又利用了.net的反射机制,通过配置文件即可确定采用哪种数据访问实现;IDAL是数据

DAL是指Data Access Layer,DALFactory是用于创建数据访问对象的工厂,本质上是采用了抽象工厂的设计模式,目的是支持多种数据访问层,比如sql server和oracle两种实现;同时又利用了.net的反射机制,通过配置文件即可确定采用哪种数据访问实现;IDAL是数据访问层接口,这样做的好处是使业务逻辑层调用数据访问层的接口即可实现数据库的增删改等操作,业务逻辑层与数据访问层是一种抽象依赖的关系,而非具体依赖。我觉得明白这些,首先需要有编程的经验,要明白接口、抽象类等的作用,再研究设计模式和软件架构。可以上博客园、csdn什么的多看看这方面的资料呗。

  1、WEB=表示层

  2、BLL=业务逻辑层

  3、IDAL=数据访问层接口定义

  4、Model=业务实体

  5、DALFactory=数据层的抽象工厂(创建反射)

  6、SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层

  DBUtility 数据库访问组件基础类

  二、项目引用关系

  1、Web 引用 BLL。

  2、BLL 引用 IDAL,Model,使用DALFactory创建实例。

  3、IDAL 引用 Model。

  4、Model 无引用。

  5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。

  6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。

  三、实现步骤

  1、创建Model,实现业务实体。

  2、创建IDAL,实现接口。

  3、创建SQLServerDAL,实现接口里的方法。

  4、增加web.config里的配置信息,为SQLServerDAL的程序集。

  5、创建DALFactory,返回程序集的指定类的实例。

  6、创建BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。

  7、创建WEB,调用BLL里的数据操作方法。

  注意:

  1、web.config里的程序集名称必须与SQLServerDAL里的输出程序集名称一致。

  2、DALFactory里只需要一个DataAccess类,可以完成创建所有的程序集实例。

  3、项目创建后,注意修改各项目的默认命名空间和程序集名称。

  4、注意修改解决方案里的项目依赖。

  5、注意在解决方案里增加各项目引用。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
蓝牙适配器的用途是什么? 蓝牙适配器的用途是什么? Feb 19, 2024 pm 05:22 PM

蓝牙适配器是干什么的随着科技的不断发展,无线通信技术也得到了快速的发展和普及。其中,蓝牙技术作为一种短距离无线通信技术,广泛地应用于各种设备之间的数据传输和连接。而蓝牙适配器则是作为支持蓝牙通信的重要设备,扮演着至关重要的角色。蓝牙适配器是一种能够将非蓝牙设备变为支持蓝牙通信的设备。它通过将无线信号转换为蓝牙信号,实现设备之间的无线连接和数据传输。蓝牙适配器

nohup的作用及原理解析 nohup的作用及原理解析 Mar 25, 2024 pm 03:24 PM

nohup的作用及原理解析在Unix和类Unix操作系统中,nohup是一个常用的命令,用于在后台运行命令,即便用户退出当前会话或关闭终端窗口,命令仍然能够继续执行。在本文中,我们将详细解析nohup命令的作用和原理。一、nohup的作用后台运行命令:通过nohup命令,我们可以让需要长时间运行的命令在后台持续执行,而不受用户退出终端会话的影响。这在需要运行

选择适合音乐生的平板电脑 选择适合音乐生的平板电脑 Jan 10, 2024 pm 10:09 PM

音乐生用什么平板合适华为的ipad中的12.9寸音响是一款非常好的产品。它配备了四个扬声器,音效非常出色。而且,它属于pro系列,相比其他款式稍微更好一些。总体来说,ipadpro是一款非常优秀的产品。这款mini4手机的喇叭声音较小,效果一般般。不能用来外放音乐,还是需要依靠耳机来享受音乐。耳机音质好的会有稍微好一些的效果,而便宜的三四十元的耳机就无法满足要求了。钢琴电子谱用什么平板如果您想购买一台10寸以上的iPad,我推荐使用两款应用程序,分别是Henle和Piascore。Henle提供

理解Linux DTS的作用及用法 理解Linux DTS的作用及用法 Mar 01, 2024 am 10:42 AM

理解LinuxDTS的作用及用法在嵌入式Linux系统开发中,设备树(DeviceTree,简称DTS)是一种描述硬件设备及其在系统中的连接关系和属性的数据结构。设备树使得Linux内核能够在不同的硬件平台上灵活地运行,而无需对内核进行修改。在本文中,将介绍LinuxDTS的作用及用法,并提供具体的代码示例来帮助读者更好地理解。1.设备树的作用设备树

探究PHP中define函数的重要性与作用 探究PHP中define函数的重要性与作用 Mar 19, 2024 pm 12:12 PM

PHP中define函数的重要性与作用1.define函数的基本介绍在PHP中,define函数是用来定义常量的关键函数,常量在程序运行过程中不会改变其值。利用define函数定义的常量,在整个脚本中均可被访问,具有全局性。2.define函数的语法define函数的基本语法如下:define("常量名称","常量值&qu

详解Java中volatile关键字的使用场景及其作用 详解Java中volatile关键字的使用场景及其作用 Jan 30, 2024 am 10:01 AM

Java中volatile关键字的作用及应用场景详解一、volatile关键字的作用在Java中,volatile关键字用于标识一个变量在多个线程之间可见,即保证可见性。具体来说,当一个变量被声明为volatile时,任何对该变量的修改都会立即被其他线程所知晓。二、volatile关键字的应用场景状态标志volatile关键字适用于一些状态标志的场景,例如一

cortana的功能是什么? cortana的功能是什么? Jan 15, 2024 pm 10:15 PM

在使用微软公司开发的Windows10操作系统过程中,不少使用者对于其中名为Cortana的全新技术感到好奇和疑惑,Cortana在中文语境中的正式称呼为“小娜”,实际上是Windows10系统内置的一款人工智能(AIassistant)服务程序cortana小娜常见问题及解决方法怎么开启小娜没反应解决步骤不支持中国解决方法搜索框放到cortana里的方法cortana是什么软件答:"Cortana小娜"是由微软公司精心打造的一款云端平台个人智能助手,具备登陆与非登陆两种使用模式。当您处于登录状

PHP是做什么用的?探究PHP的作用与功能 PHP是做什么用的?探究PHP的作用与功能 Mar 24, 2024 am 11:39 AM

PHP是一种广泛应用于Web开发的服务器端脚本语言,它的主要作用是生成动态网页内容,与HTML结合使用,可以创建出丰富多彩的网页。PHP的功能强大,它可以执行各种数据库操作、文件操作、表单处理等任务,为网站提供强大的交互性和功能性。在接下来的文章中,我们将进一步探究PHP的作用与功能,并配以详细的代码示例。首先,我们来看一下PHP的常见用途:动态网页生成:P

See all articles