转自: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#三层结构的更多相关文章

  1. java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计

    Spring的事务实现采用基于AOP的拦截器来实现,如果没有在事务配置的时候注明回滚的checked exception,那么只有在发生了unchecked exception的时候,才会进行事务回滚 ...

  2. VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)

    VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html   鸡啄米在上一讲中 ...

  3. java中的mvc和三层结构究竟是什么关系

    一件事,要知其然往往很简单,要知其所以然通常不是那么容易,就如最近重新巩固spring的过程中,就觉得还有许多问题其实并不是十分明了. 屈指一算,手头上做过的正式项目也有了四五六七个了,不管用的数据库 ...

  4. 使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)

    导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有 ...

  5. MySQL三层结构、用户权限、索引设计原则

    一.守护进程是什么? Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对 ...

  6. [转]MVP+WCF+三层结构搭建项目框架

    最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...

  7. IOCP三层结构

    iocp三层架构服务器模型 分类: GameEngine专题之IOCP(完成端口)2010-04-06 14:44 2611人阅读 评论(0) 收藏 举报 服务器socket工作测试应用服务器性能优化 ...

  8. Atitit.软件开发的三层结构isv金字塔模型

    Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则, ...

  9. VS2010中dumpbin工具的使用

    用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...

随机推荐

  1. bat基础命令

    rem 删除日志文件和catalina文件移动war包(下载了tomcat的一级目录下) del /q /s logs\*.* del /q /s webapps\moc.war rmdir /q / ...

  2. Example For maven-compiler-plugin

    1. Compiling Sources Using A Different JDK The compilerVersion parameter can be used to specify the ...

  3. js 定义方法的集中方式

    1:调用关键字function来构造 如:    function  distance(x1,x2,y1,y2)    {    var  dx = x2 - x1;    var  dy = y2  ...

  4. 跨站请求伪造 CSRF / XSRF<二:应用>

    防御的方法主要有两种<java示例> 1.检查Referer字段 HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址.在处理敏感数据请求时,通常来说,Referer字 ...

  5. Makefile相关知识

    1. Makefile的编写: 1>. makefile的命名 1. makefile 2. Makefile 2>. makefile中的规则 三部分: 目标(app):依赖(main. ...

  6. VB调用sendinput API

    http://files.cnblogs.com/files/liuzhaoyzz/VB%E8%B0%83%E7%94%A8sendinput_API.rar sendinput只支持发送字符或者组合 ...

  7. python爬取网易评论

    学习python不久,最近爬的网页都是直接源代码中直接就有的,看到网易新闻的评论时,发现评论时以json格式加载的..... 爬的网页是习大大2015访英的评论页http://comment.news ...

  8. [HTML/Javascript] JS判断IE浏览器各版本

    代码参考: function isLowIEVersion() { var browser = navigator.appName var b_version = navigator.appVersi ...

  9. Scala学习 —— 元组&映射

    再说集合之前,我们先来回顾一下映射&元祖 映射是键/值对偶的集合,Scala有一个通用的叫法--元组,也就是n个对象的聚集,并不一定要相同类型的.对偶不过是一个n=2的元祖.元祖对于那种需要将 ...

  10. H:Highways

    总时间限制: 1000ms 内存限制: 65536kB描述The island nation of Flatopia is perfectly flat. Unfortunately, Flatopi ...