惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
人人都是产品经理
人人都是产品经理
H
Heimdal Security Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
雷峰网
雷峰网
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
A
About on SuperTechFans
V2EX - 技术
V2EX - 技术
小众软件
小众软件
博客园 - Franky
博客园 - 司徒正美
P
Privacy International News Feed
爱范儿
爱范儿
U
Unit 42
博客园 - 叶小钗
The Hacker News
The Hacker News
C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Simon Willison's Weblog
Simon Willison's Weblog
N
News and Events Feed by Topic
D
Docker
T
Threatpost
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
L
LINUX DO - 最新话题
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
A
Arctic Wolf
Spread Privacy
Spread Privacy

博客园 - 刚子

sql2005中Create 对于 数据库“xxx”失败解决方案 一个简单的C#多线程间同步(事件方法)的例子 俞老师在同济大学的演讲词:度过有意义的生命 [转]谈基于.net平台windows开发中的模式窗体 利用反射原理,灵活配置类名和方法名 [转]在C#隐藏启动窗口的几种方法 System.Windows.Forms.Timer和System.Timers.Timer的区别 [转] 什么是Smart Client 在VS.NET 2005中体验clickonce技术 (智能客户端) C#操作EXCEL文件 如何创建、安装和调试Windows服务 最小化到系统托盘并恢复 C#操作XML的完整例子——XmlDocument篇 C#多线程应用探讨(转载) C# 泛型介绍 vs2005新建网站对话框中三种位置选项(文件系统、http、ftp)的区别? 创建 类PetShop4.0 架构的项目 .net面试题 C#面试常见问题
工厂模式代码的使用解释
刚子 · 2008-08-06 · via 博客园 - 刚子

一、项目名称及描述:(实现步骤为:4-3-6-5-2-1)
  1、WEB-----------表示层
  2、BLL-----------业务逻辑层
  3、IDAL----------数据访问层接口定义层
  4、Model---------业务实体
  5、DALFactory----数据层的抽象工厂(创建反射)
  6、SQLServerDAL--SQLServer数据访问层/oracleDAL数据访问层


二、项目引用关系
  1、WEB  引用BLL,SQLServerDAL,Model
  2、BLL  引用IDAL,Model,SQLServerDAL,使用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里的数据操作方法

  所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM 通讯与中间层建立连接,再经由中间层与数据库进行交换. 理解ASP.NET中的三层结构 我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级.

  三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL)

  1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.

  2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

  3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

  具体的区分方法

  1:数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成 各个对数据文件的操作。而不必管其他操作。

  2:业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

  3:表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

  ASP.NET中的三层结构说明 完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层 .否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说. 不同的应用有不同的理解,这是一个概念的问题.