博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从零开始编写自己的C#框架(11)——创建解决方案
阅读量:5959 次
发布时间:2019-06-19

本文共 2029 字,大约阅读时间需要 6 分钟。

 这段时间一直在充电,拜读了园子中大神们的博文(wayfarer的《》、TerryLee的《》、卡奴达摩的《》还有其他一些零散的文章),获益良多,虽然对大部分设计模式还是有点蒙,不过还是大长见识了。另外还购买了园子里范钢大神的大作《大话重构》和其他大神推荐的《重构:改善既有代码的设计》,每天早上早起一小时看书,感觉这个时间头脑清晰,看书的效率特别高,向大家推荐一下,这些书籍都属于需要精读的书籍,有时间的话要反复观看与练习。

  按开发计划,5号开始进入代码编写阶段,开始编写框架代码,在编写的同时一直在考虑怎么才能比较通俗的讲清楚整个代码编写过程与相关细节呢?对于代码讲解的编写不是三两句话就说得清楚的,用视频的确可以说得明白不过自己又没有经验不知怎么弄,所以认真考虑后觉得,如果一次性将实现好的代码发出来,内容太多不方便大家对一些细节的了解,还是按平时编写代码的开发方法,将代码实现的一个个步骤按顺序写出来,功能不一次性实现,要用到相关功能时再对类或代码进行重构来添加功能,大家从中也可以了解开发过程与思路。

  本架构最终实现后,代码的偶合性会比较高,不过对于中小型项目来说问题不是很大,因为多数代码都是直接使用T4模板生成,有变化只要在模板函数里修改就可以了。

  模板函数是为了减少开发工作量为目的来实现的,对于独立的功能需要自行开发自定义函数来实现,这些会在后面章节中详细说明。

  由于以前开发的项目代码版权属于公司所有,所以本项目会使用网上的一些开源源码,而相关的一些功能函数也会进行重写。

  另外,虽然已经制定了开发计划,不过编码与文章编写肯定不会同步,所以有时候文章会发表得晚一些,也请大家见谅。

 

  就不再继续罗嗦了,上图上代码

 

  1、首先创建一个空白的解决方案,并添加4个解决方案文件夹(主要是为了以后项目多了后可以清晰的进行分类存放,如果项目中含有服务、Winform、测试等项,可以另外建立更多的文件夹)

  

 

  2、进入,下载大神苏飞共享的C#基类库大全,非常感谢苏飞和众多网友共享出这么多优秀的工具类出来。

  

  

  3、将C#基类类库、SubSonic3.0插件项目、DAL层代码和常用DLL文件放到刚创建好的解决方案文件夹中

  

 

  4、将C#基类类库和SubSonic3.0插件项目添加到Common文件夹中,Solution.DataAccess添加到DataAccess文件夹中

  

 

  5、将DotNet.Utilities项目属性改为.NET Framework 4

  

 

  6、DotNet.Utilities添加Newtonsoft.Json.dll引用,SubSonic.Core添加Castle.Core.dll引用,Solution.DataAccess添加DotNet.Utilities和SubSonic.Core项目引用

  

  

  

 

   7、创建数据库

  按《》章的介绍,并用章节中附件的工具《ExcelToSQLString2.91_sql》与《数据字典》生成数据库

  创建数据库SolutionDataBase

  

  

  下载附件并解压

  

  打开《数据字典》,复制数据表名称

  

  打开ExcelToSQLString2.91_sql.exe软件,设计文件路径,将上面复制的数据表名称粘贴到表格名称外,按图表进行打勾选择后,点击运行生成SQL语句

  

  

  打开数据库,选择SolutionDataBase数据库后,点击新建查询,将上面生成的SQL语句复制到查询分析器中,然后点击执行

  

  重复上面动作,将《数据字典》中的所有表创建出来

  

   添加数据库管理帐号

  

  创建登陆名SolutionUid,密码123456

  

  勾选权限

  

 

   8、修改数据库链接

  打开解决方案

  

  修改数据库链接字串为前面创建的数据库登陆名与密码

  

  修改T4模板数据库名称

  

 

  9、运营T4模板,生成DAL层文件

  

  

  在运行生成时,如果出现下面错误提示,请检查App.config数据库链接字串中的登陆名与密码是否正确,如果正确请点击保存App.config配置文件,因为T4文件有时候会因为获取不到配置文件而产生错误,一般保存后就可以正确运行

  另外也检查一下数据库名称命名,使用不规范的命名或用关键字命名数据库名称或表名称,都有可能产生问题

  

  

 

  框架各层文件功能说明,请查看附件中《数据字典》的目录与文件说明

  

 

  下一章节会在周三或周四发布,主要讲解逻辑层T4模板的应用(T4模板的使用是本框架的主要核心)

 

 

    本文转自 AllEmpty 博客园博客,原文链接:http://www.cnblogs.com/EmptyFS/p/3706633.html,如需转载请自行联系原作者

你可能感兴趣的文章
编程心得体会_Code snippet在手,编程不愁!
查看>>
谷歌浏览器调整不同分辨率_学用系列|一个浏览器就能搞定数字学习(二)——Screenity录屏大师...
查看>>
在reader中勾选pdf复选框_留美申请表填表100问与答
查看>>
javafx vbox 居中_在JavaFX中设置标签和文本字段对齐
查看>>
python 获取绝对路径的区别_Python:从比较两个绝对路径获取相对路径
查看>>
springboot 请求路径有后缀_Springboot设置默认访问路径方法实现
查看>>
mysql时间转换整数_mysql 里int时间转换datetime时间
查看>>
mysql8.0打开5.7_windows下同时安装mysql8.0和mysql5.7
查看>>
mysql多主单向-->环形同步_mysql多主单向–>环形同步 | 学步园
查看>>
debian linux mysql 源码安装_debian下mysql5.1的源码安装
查看>>
python中mysql操作命令_Python 3 对MySQL的基本操作,及MySQL的增删改查等常见命令
查看>>
mysql解压即用_解压即用 MySQL 使用指南(Windows)
查看>>
centos7 jsp mysql数据库_CentOS7下JSP连接Mysql
查看>>
mysql 2008安装_SQL_2008安装教程(完整版)
查看>>
mysql中non用什么_mysql Non-Transactional Database Only(只支持MyISAM)
查看>>
mysql 中文数据库名在dos中显示不出来_关于mysql数据库dos窗口下显示数据库表中中文的方法...
查看>>
怎么把3d风格的图变成2d_我的世界遭受“降维打击”,3D人物变2D,史蒂夫变成纸片人...
查看>>
php mysql 过滤函数_php 自带过滤和转义函数
查看>>
mysql missing_故障分析 | MySQL 无法启动,提示 missing……
查看>>
python元祖封包_Python——序列封包与序列解包
查看>>