项目的架构决定这个项目的好坏。

今天我说说传统三层架构的搭建

第一步 创建一个解决方案 例如 TaskSystem

asp.net搭建项目架构-LMLPHP

接着这个解决方案下创建六个项目分别:

TaskSystem.DAL

TaskSystem.BLL

TaskSystem.Service

TaskSystem.WebUI

TaskSystem.Model

TaskSystem.Common

asp.net搭建项目架构-LMLPHP

花了几分钟画了一张图

github源码地址:https://github.com/chenbingithub/taskSystem.git

搭建这个项目花费了两天的时间怎么成功了,ORM框架使用的EF 打开程序包管理控制台执行 安装命令  install-package entityframework

asp.net搭建项目架构-LMLPHP

只需要在DAL层和Service层执行该命令就好,安装的是最新的EF版本 根据个人喜好 install-package entityframework  -v 6.0 加上版本号

我比较喜欢使用命令,不然就需要自己添加引用dll,还需要在配置文件配置EF的信息 如下:

<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>

上面这个一段字符必须放在<configuration></configuration>节点下第一个位置,不然会报错

执行 install-package entityframework 之后,两段字符自动在配置文件中生成。

在DAL我采用了抽象工厂模式和单例模式的设计,中间还用到了反射机制 在<appSettings>节点下加上这个

<!--抽象工厂创建数据库访问层配置节点-->
<add key="DALAssemblyName" value="TaskSystem.DAL" />

value值代表实现DAL的命名空间名称

如果使用依赖注入可采用spring.net,这个项目不打算使用spring.net

后期我会把redis、日志、邮件服务加上

我推荐大家使用ABP框架 https://aspnetboilerplate.com/

asp.net搭建项目架构-LMLPHP

05-26 03:17