项目的架构决定这个项目的好坏。
今天我说说传统三层架构的搭建
第一步 创建一个解决方案 例如 TaskSystem
接着这个解决方案下创建六个项目分别:
TaskSystem.DAL
TaskSystem.BLL
TaskSystem.Service
TaskSystem.WebUI
TaskSystem.Model
TaskSystem.Common
花了几分钟画了一张图
github源码地址:https://github.com/chenbingithub/taskSystem.git
搭建这个项目花费了两天的时间怎么成功了,ORM框架使用的EF 打开程序包管理控制台执行 安装命令 install-package entityframework
只需要在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/