项目采用了三层架构和工厂模式,借鉴了微软的PetShop架构,项目采用分布式的数据库,前期设计主要考虑到了系统的可维护性和可扩展性,把项目主要分为7个模块。

  1、WEB:表示层

  2、BLL:业务逻辑层

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

  4、Model:业务实体

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

  6、SQLServerDAL:SQLServer数据访问层 
  7、DBUtility :数据库访问组件基础类

目前为止,系统基本框架已初具雏形,那么项目又是如何创建的呢:

1.建立解决方案:
文件->新建项目->其它项目类型->Visual Studio解决方案->空白解决方案。

2.在解决方案里添加第一个项目
建立空白解决方案后,在vs2010右边的解决方案资源管理器中,可以看到刚建立的解决方案,单击选中它,然后右键选择“添加”->新建项目->Visual C#- >ASP.NET Web应用程序 ,把名称命为:Web,点击确定后就在解决方案里建立了一个Web项目。

3.在解决方案里添加第二个项目

在解决方案里加入第一个项目后,再加入第二个项目,第二个项目和添加与第一个项目的添加有一点差别,添加第二个项目的步骤是:文件->新建项目->Visual C# ->类库。

选择“类库”以后,把名称命名为:BLL,在最下面的“解决方案”里选择“添入解决方案”,意思就是把新建的这个BLL项目,添入到建立的iEyeConfig解决方案里。

刚才建立的两个项目就在解决方案里很好的组织起来了。

4.在解决方案里添加其它的项目
添加两个项目后,为解决方案添加更多的项目就只需选中解决方案,右键“添加”->新建项目->Visual C#->类库。再自已命名项目名称就可以了。

到此为止解决方案就建立完成了。但是各项目之间还是各自独立的 ,要想相互调用就要建立项目间的引用关系。

Web 引用 BLL, Model
BLL 引用 IDAL, Model, DALFactory(使用DALFactory创建实例)
IDAL 引用 Model
Model 无引用
DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用
SQLServerDAL 引用 Model和IDAL,DBUtility.被DALFactory加载的程序集,实现接口里的方法

在解决方案里建立项目间的引用步骤为:选中需要添加引用的项目→右键选择"添加引用"→"项目",然后选中要引用的项目的名称.点确定完成项目的引 用.
把各项目之间的引用关系建立好以后,一个完整的解决方案就算是搭建好基石了.接下来,就是写代码实现各项目的功能了.

转载于:https://www.cnblogs.com/kloseking/archive/2010/09/16/1827501.html

工厂支持多数据库开发的三层结构模式随笔(一)相关推荐

  1. 计算机系统中bs三层指,基于BS三层结构模式的在线练习系统的设计与实现.pdf

    基于BS三层结构模式的在线练习系统的设计与实现.pdf 第27卷第1期 电气电子教学学报 V01.27No.1 0FEEE Feb.2005 2005年2月 JOURNAL 基于B/S三层结构模式的 ...

  2. 浅谈“三层结构”原理与用意(转帖)

    浅谈"三层结构"原理与用意 序 在刚刚步入"多层结构"Web应用程序开发的时候,我阅读过几篇关于"asp.net三层结构开发"的文章.但其多 ...

  3. 为什么用抽象三层结构

    由于个人学习之初,第一次使用三层架构的时候就是用的抽象三层架构模式,当时个人笨得不知道用工具,主要原因是个人当时的观点是:用一个新工具时,还得去熟悉新工具:刚学习的时候重点是技术:在技术比较熟练后再用 ...

  4. 用MS.NET开发三层结构应用程序[转载]

    用MS.NET开发三层结构应用程序[转载] 原文: http://industry.ccidnet.com/art/294/20030526/47418_1.html 传统两层结构 在过去应用系统开发 ...

  5. 基于三层结构的CRM系统(Agent X)的设计和开发

    现代计算机应用技术不断发展的同时,CRM也得到了前所未有的发展.最初的CRM系统基本上都是基于两层结构-C/S模式(客户机/服务器).自从C/S模式提出后,对CRM的发展起到了巨大的推动作用. 但随着 ...

  6. 基于NHibernate的三层结构应用程序开发初步

    本文并不是去详细的介绍如何使用NHibernate,而是通过一个简单的例子来演示基于NHibernate的三层结构应用程序开发过程.关于NHibernate的有关文档,DDL已经做了汉化,但是由于英文 ...

  7. 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用

    cz88 基于 cz88 纯真IP数据库开发的 IP 解析服务 - 支持 http 协议请求或 rpc 协议请求,也支持第三方包的方式引入直接使用 Go 语言编写 进程内缓存结果,重复的 ip 查询响 ...

  8. 优酷java_youtubie 仿优酷的视频网站,采用JAVA开发,支持Oracle数据库。主要功能包含注册登录, 上传 Jsp/Servlet 238万源代码下载- www.pudn.com...

    文件名称: youtubie下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 12657 KB 上传时间: 2015-04-23 下载次数: 1 详细说明:仿优酷的 ...

  9. c/s三层结构信息系统的三个层次_如何使用ABP框架(2)三层架构与领域驱动设计的对比...

    本文来自长沙.NET技术社区,原创:邹溪源.全文共有8500字,读完需耗时10分钟. 题图来自@pixabay 简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项 ...

最新文章

  1. ad域不去用frs_年轻人就是不喜欢喝茶?那就用高级时尚的茶包装去吸引
  2. 点到点与端到端通信有什么区别:
  3. 中国AI创新者论坛成功举办!这里有一份AI教育和医疗的落地秘籍
  4. AD二次开发提示“出现了一个操作错误”的解决办法
  5. 【游戏开发】基于VS2017的OpenGL开发环境搭建
  6. matelab的安装
  7. 你应该知道的jQuery技巧【收藏】
  8. linux 常用命令行 大全
  9. 信息学奥赛一本通(1266:【例9.10】机器分配)
  10. 照顾好自己才能照顾好别人_6种照顾数字外观的方法
  11. 微信小程序python_用python一步一步教你玩微信小程序【跳一跳】
  12. 什么是排他思想算法?(源码解析)
  13. python快速编程入门黑马程序员pdf_Python快速编程入门 传智播客 黑马程序员 python编程从入门到实践基础视频教程核心编程爬虫数据分析程序设计机器学习简明书籍...
  14. 本地以图搜图识图工具——嗅图狗!(python3.6实现图像比对指路,代码git)
  15. 网路新年贺词_文伟_新浪博客
  16. 两大Mac内存清理方法,嫌麻烦的就直接使用第二种
  17. matlab 雅各比符号,密码学与编码理论(第2版)(密码学方面的经典著作)
  18. 华擎主板bios设置图解_华擎主板bios设置_华擎主板bios设置图解_asrock主板bios设置...
  19. android studio create device
  20. iOS 开发实用工具

热门文章

  1. java 生成静态html的一段代码
  2. 华为p20云收藏怎么删除_华为平板怎么记笔记?这款云笔记软件帮你
  3. 时间加密算法_物联网安全:可计算加密算法
  4. 计算机管理 如何将c盘,教程:新买的电脑如何把C盘分区成多个盘?
  5. burst什么意思_为什么Windows/iOS操作很流畅而Linux/Android却很卡顿呢?
  6. java collection源码_jdk源码阅读Collection实例分析
  7. Python机器学习:梯度下降法002模拟实现梯度下降法
  8. 数据科学入门与实战:玩转pandas之一
  9. java文件选择器_java中文件选择器JFileChooser的用法
  10. linux 中国-新手村,从新手村开始,手把手带你入门梳理内核代码