在VS2010中建立C#三层结构
转自:http://www.blueidea.com/microsoft/vs2010/2010_con/2010081301.htm
三层结构,会有多个项目。为了让各项目之间的关系反映在目录结构上所以要建立一个解决方案。
1.建立解决方案: 文件->新建项目->其它项目类型->Visual Studio解决方案->空白解决方案。
2.在解决方案里添加第一个项目 建立空白解决方案后,在vs2010右边的解决方案资源管理器中,可以看到刚建立的解决方案,单击选中它,然后右键选择“添加”->新建项目->Visual C#- >ASP.NET Web应用程序 ,把名称命为:Web,点击确定后就在解决方案里建立了一个Web项目。
3.在解决方案里添加第二个项目
在解决方案里加入第一个项目后,再加入第二个项目,第二个项目和添加与第一个项目的添加有一点差别,添加第二个项目的步骤是:文件->新建项目->Visual C# ->类库。
选择“类库”以后,把名称命名为:BLL,在最下面的“解决方案”里选择“添入解决方案”,意思就是把新建的这个BLL项目,添入到建立的KaiBo解决方案里。
刚才建立的两个项目就在解决方案里很好的组织起来了。
4.在解决方案里添加其它的项目 添加两个项目后,为解决方案添加更多的项目就只需选中解决方案,右键“添加”->新建项目->Visual C#->类库。再自已命名项目名称就可以了。
1、WEB=表示层 2、BLL=业务逻辑层 3、IDAL=数据访问层接口定义 4、Model=业务实体 5、DALFactory=数据层的抽象工厂(创建反射) 6、SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层 7、DBUtility 数据库访问组件基础类
多了一个WebControls项目,那是我写的一些自定义控件。如果需要,还可以往解决方案里加入更多的项目。到此为止解决方案就建立完成了。但是各项目之间还是各自独立的 ,要想相互调用就要建立项目间的引用关系。
在vs2010里面把解决方案中的各个项目都建立好之后,就要实现各项目之关的引用了.在前面,我们建立了7个项目.它们分别是: WEB:表示层 BLL:业务逻辑层 IDAL:数据访问层接口定义 Model:业务实体 DALFactory:数据层的抽象工厂(创建反射) SQLServerDAL:SQLServer数据访问层 DBUtility :数据库访问组件基础类 各项目之间的引用关系可用下图表示:
Web 引用 BLL,SQLServerDAL BLL 引用 IDAL,Model,DALFactory(使用DALFactory创建实例) DAL 引用 Model Model 无引用 DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用 SQLServerDAL 引用 Model和IDAL,DBUtility.被DALFactory加载的程序集,实现接口里的方法 在解决方案里建立项目间的引用步骤为:选中需要添加引用的项目→右键选择"添加引用"→"项目",然后选中要引用的项目的名称.点确定完成项目的引 用. 把各项目之间的引用关系建立好以后,一个完整的解决方案就算是拾建好基石了.接下来,就是写代码实现各项目的作用了.
另外参考:在VS.NET中,如何将一个asp.net项目的多个模块编译成不同的DLL?
在VS2010中建立C#三层结构的更多相关文章
- java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计
Spring的事务实现采用基于AOP的拦截器来实现,如果没有在事务配置的时候注明回滚的checked exception,那么只有在发生了unchecked exception的时候,才会进行事务回滚 ...
- VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html 鸡啄米在上一讲中 ...
- java中的mvc和三层结构究竟是什么关系
一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库 ...
- 使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)
导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有 ...
- MySQL三层结构、用户权限、索引设计原则
一.守护进程是什么? Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对 ...
- [转]MVP+WCF+三层结构搭建项目框架
最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...
- IOCP三层结构
iocp三层架构服务器模型 分类: GameEngine专题之IOCP(完成端口)2010-04-06 14:44 2611人阅读 评论(0) 收藏 举报 服务器socket工作测试应用服务器性能优化 ...
- Atitit.软件开发的三层结构isv金字塔模型
Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...
- VS2010中dumpbin工具的使用
用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...
随机推荐
- HDU 5938 Four Operations(四则运算)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- iOS runloop初步学习
参考: http://www.aichengxu.com/view/43297111. 定义:其实它内部就是do-while循环,在这个循环内部不断地处理各种任务(比如Source.Timer.Obs ...
- idea中配置eslint 静态代码检查
配置: 1,安装依赖 sudo tnpm install eslint -g sudo tnpm install eslint-plugin-import -g sudo tnpm install e ...
- 【java基础】成员变量和局部变量02
成员变量和局部变量(2) 成员变量的初始化和内存中的运行机制 当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值. package object; ...
- ubuntu14.04利用aliyun安装docker
docker官网上的安装步骤比较麻烦,而且下载下来后pull镜像也特别慢.通过阿里云可以快速安装docker,并且可配置加速器.通过阿里云超快速安装docker: 安装或升级Docker 请安装1.6 ...
- IntelliJ IDEA中Maven项目的默认JDK版本
在IntelliJ IDEA 15中使用Maven时,IDEA将默认的编译版本.源码版本设置为jdk5.编译项目的时候出现警告:"Warning:Java: 源值1.5已过时, 将在未来所有 ...
- 从github拉取项目到myeclipse本地
1.首先拿到jacky-lulu分享的地址 https://github.com/jacky-lulu1/cxf_client 2.登录jacky-lulu账号,fork一份cxf_client到自己 ...
- 原生Android App项目调用Untiy导出的Android项目
背景:采用Google VR SDK for Unity 开发3D场景功能,然后导出Android项目,合并到一个Android App里面,供其它Activity调用. 用Google VR for ...
- nodejs解决找不到express命令的问题
一般的书或者教程上的安装步骤是:(需要是-g,即全局安装) npm install -g express //全局安装 而我们应该多多关注下express的文档,github地址:https://gi ...
- Javascript学习笔记1 javascript的特点
..对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去.从什么地方着手,我的目标是从大处着眼,从应用着眼,不抠细节,反正 ...