原文:从零开始编写本身的C#框架(11)——建立解决方案html
这段时间一直在充电,拜读了园子中大神们的博文(wayfarer的《设计之道》、TerryLee的《.NET设计模式系列文章》、卡奴达摩的《设计模式》还有其余一些零散的文章),获益良多,虽然对大部分设计模式仍是有点蒙,不过仍是大长见识了。另外还购买了园子里范钢大神的大做《大话重构》和其余大神推荐的《重构:改善既有代码的设计》,天天早上早起一小时看书,感受这个时间头脑清晰,看书的效率特别高,向你们推荐一下,这些书籍都属于须要精读的书籍,有时间的话要反复观看与练习。sql
按开发计划,5号开始进入代码编写阶段,开始编写框架代码,在编写的同时一直在考虑怎么才能比较通俗的讲清楚整个代码编写过程与相关细节呢?对于代码讲解的编写不是三两句话就说得清楚的,用视频的确能够说得明白不过本身又没有经验不知怎么弄,因此认真考虑后以为,若是一次性将实现好的代码发出来,内容太多不方便你们对一些细节的了解,仍是按平时编写代码的开发方法,将代码实现的一个个步骤按顺序写出来,功能不一次性实现,要用到相关功能时再对类或代码进行重构来添加功能,你们从中也能够了解开发过程与思路。数据库
本架构最终实现后,代码的偶合性会比较高,不过对于中小型项目来讲问题不是很大,由于多数代码都是直接使用T4模板生成,有变化只要在模板函数里修改就能够了。设计模式
模板函数是为了减小开发工做量为目的来实现的,对于独立的功能须要自行开发自定义函数来实现,这些会在后面章节中详细说明。架构
因为之前开发的项目代码版权属于公司全部,因此本项目会使用网上的一些开源源码,而相关的一些功能函数也会进行重写。并发
另外,虽然已经制定了开发计划,不过编码与文章编写确定不会同步,因此有时候文章会发表得晚一些,也请你们见谅。框架
就再也不继续罗嗦了,上图上代码数据库设计
一、首先建立一个空白的解决方案,并添加4个解决方案文件夹(主要是为了之后项目多了后能够清晰的进行分类存放,若是项目中含有服务、Winform、测试等项,能够另外创建更多的文件夹)函数
二、进入sufeinet网,下载大神苏飞共享的C#基类库大全,很是感谢苏飞和众多网友共享出这么多优秀的工具类出来。工具
三、将C#基类类库、SubSonic3.0插件项目、DAL层代码和经常使用DLL文件放到刚建立好的解决方案文件夹中
四、将C#基类类库和SubSonic3.0插件项目添加到Common文件夹中,Solution.DataAccess添加到DataAccess文件夹中
五、将DotNet.Utilities项目属性改成.NET Framework 4
六、DotNet.Utilities添加Newtonsoft.Json.dll引用,SubSonic.Core添加Castle.Core.dll引用,Solution.DataAccess添加DotNet.Utilities和SubSonic.Core项目引用
七、建立数据库
按《从零开始编写本身的C#框架(9)——数据库设计与建立》章的介绍,并用章节中附件的工具《ExcelToSQLString2.91_sql》与《数据字典》生成数据库
建立数据库SolutionDataBase
下载附件数据库设计与建立章节附件.rar并解压
打开《数据字典》,复制数据表名称
打开ExcelToSQLString2.91_sql.exe软件,设计文件路径,将上面复制的数据表名称粘贴到表格名称外,按图表进行打勾选择后,点击运行生成SQL语句
打开数据库,选择SolutionDataBase数据库后,点击新建查询,将上面生成的SQL语句复制到查询分析器中,而后点击执行
重复上面动做,将《数据字典》中的全部表建立出来
添加数据库管理账号
建立登录名SolutionUid,密码123456
勾选权限
八、修改数据库连接
打开解决方案
修改数据库连接字串为前面建立的数据库登录名与密码
修改T4模板数据库名称
九、运营T4模板,生成DAL层文件
在运行生成时,若是出现下面错误提示,请检查App.config数据库连接字串中的登录名与密码是否正确,若是正确请点击保存App.config配置文件,由于T4文件有时候会由于获取不到配置文件而产生错误,通常保存后就能够正确运行
另外也检查一下数据库名称命名,使用不规范的命名或用关键字命名数据库名称或表名称,都有可能产生问题
框架各层文件功能说明,请查看附件中《数据字典》的目录与文件说明
下一章节会在周三或周四发布,主要讲解逻辑层T4模板的应用(T4模板的使用是本框架的主要核心)
下载地址:
版权声明:
本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人赞成必须保留此段声明,且在文章页面明显位置给出原文连接,不然保留追究法律责任的权利。若有问题,能够经过1654937@qq.com 联系我,很是感谢。
发表本编内容,只要主为了和你们共同窗习共同进步,有兴趣的朋友能够加加Q群:327360708 ,你们一块儿探讨。
更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/