从零开始编写自己的C#框架(1)——前言
记得十五年前自学编程时,拿着C语言厚厚的书,想要上机都不知道要用什么编译器来执行书中的例子。十二年前在大学自学ASP时,由于身边没有一位同学和朋友学习这种语言,也只能整天混在图收馆里拼命的啃书。而再后来也差不多,自学了很多不同的知识,都一直只能自己默默的克服一个又一个困难。所以这几年带一些应届生或只有一两年经验的新人时,都会同他们讲:你们现在太幸福了,有问题可以找度娘,还可以找我来解决。做为过来人,能深深的体会到刚入门的时候,没有系统的介绍和老师指导,会多走很多很多弯路和经历过不知多少不眠之夜,头发都不知白了多少根。
虽然工作了这么多年,但一直都没有将自己成长的点点滴滴记录下来,觉得非常的遗憾,很多技术现在都忘了。而在博客园注册博客也有好几年了,也一直空空的,直到去年的七月份,才尝试将自己学习SubSonic3.0的过程慢慢记录下来,然后天天上博客园来刷页面,在这个过程中从各位大牛的身上学到了很多很多东西,非常感谢大家无私的分享。
在写博的过程中,非常羡慕众多大神能写了一系列的文章,自己虽然不是个牛人,也想尝试一下,对自己这么多年的技术做一下总结,写一写一个项目无到有,到最终上线的过程,希望能给初学者一个了解的窗口。
本系列文章主要讲的就是怎么从项目的准备、需求分析、框架设计、编码、测试到服务器的部署,来讲述开发过程中的注意事项和使用相关插件来打造一个快捷开发的ORM框架(当然你也可以使用本系列中讲述的思想,使用其他插件来开发你自己的框架)。
由于近一年时间一直都在接触和使用SubSonic2.2与SubSonic3.0,也接触了不少还在使用或正在学习的朋友,所以写写如何使用SubSonic3.0来开发ORM框架,希望对大家有所帮助。虽然SubSonic插件,也有不少朋友都说它已经过时了、已经没什么人在继续使用了......不过我还是坚持自己的看法,无论是SubSonic还是其他ORM框架插件,只要适合自己的适合公司的就是最好的。当然以后项目有变动也可能会使用其它ORM插件,哈哈...
本文章适合什么朋友?
学过相关开发语言的初学者或有过一定开发经验但对开发与框架架构缺乏经验的人。
下面简单说说这个框架的特点:
在最近几年时间里,我一直在做框架开发,用不同的语言开发了几个不同的框架,要说这几个框架的共同特点是什么:那就是快,不少同事朋友使用了我的框架后,都给了正面的评价,可以减少60%以上的代码量,而开发周期也自然可以压缩50%以上的编码时间(实际上使用了T4模板或相关代码生成工具的都有这种感觉)。不但可以非常快速的完成功能开发,而且进行二次开发也非常方便快捷(除了自己几年前写的第一个框架,呵呵......),当然性能也是不错的。
目录:
从零开始编写自己的C#框架(1)——前言
从零开始编写自己的C#框架(2)——开发前的准备工作
从零开始编写自己的C#框架(3)——开发规范
从零开始编写自己的C#框架(4)——文档编写说明
从零开始编写自己的C#框架(5)——三层架构介绍
从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍
从零开始编写自己的C#框架(7)——需求分析
从零开始编写自己的C#框架(8)——后台管理系统功能设计
从零开始编写自己的C#框架(9)——数据库设计与创建
从零开始编写自己的C#框架(10)——项目实施计划与甘特图
从零开始编写自己的C#框架(11)——创建解决方案
从零开始编写自己的C#框架(12)——T4模板在逻辑层中的应用(一)
从零开始编写自己的C#框架(13)——T4模板在逻辑层中的应用(二)
从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)
从零开始编写自己的C#框架(15)——Web层后端登陆功能
从零开始编写自己的C#框架(16)——Web层后端父类
从零开始编写自己的C#框架(16)——Web层后端首页
从零开始编写自己的C#框架(18)——Web层后端权限模块——菜单管理
从零开始编写自己的C#框架(19)——Web层后端权限模块
从零开始编写自己的C#框架(20)——框架异常处理及日志记录
从零开始编写自己的C#框架(21)——添加分类类型页面
从零开始编写自己的C#框架(22)——添加普通列表页面
从零开始编写自己的C#框架(23)——上传组件使用说明
从零开始编写自己的C#框架(24)——测试
从零开始编写自己的C#框架(25)——网站部署
从零开始编写自己的C#框架(26)——小结
从零开始编写自己的C#框架(27)——什么是开发框架
从零开始编写自己的C#框架(28)——建模、架构与框架
从零开始编写自己的C#框架(29)——设计用例
......(待续)
(由于个人工作太忙,后面的章节等手上的项目完成的七七八八后会继续写下去)
这不是最终的目录,会在编写的过程中根据具体情况作出调整,如果想要对开发过程描述得更加具体的话,初步估计目录数量会多上2至3倍。本项目只是完成框架以及后端系统的常用功能,对前端与其他方面的内容,如果本系列很受欢迎的话会考虑继续编写实现出来。
总结
要写这一系列文章,朋友们知道后都说好大的工程啊......说的也是,要全部写完,也要好长的时间,水平有限到时也不知道会碰到多少雷区,也不清楚写出来的内容是否表达得清楚,鸭梨山大@_@,不过事情都是逼出来的,希望在写的过程中自己也能得到一个好的提升。
本系列文章会将我开发的过程说明与源代同步更新上来,如果引用了某些文章或使用了某些开源代码也会详细标明出处,其版权归原作者所有,编写本系列文章主要是对自己这么多年工作做一个总结,也希望能帮助到刚入行的朋友,谢谢你的关注,如果觉得本系列文章有帮到你,请帮忙点击推荐。
版权声明:
本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。
发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 或Email给我(1654937@qq.com),大家一起探讨。
更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/
从零开始编写自己的C#框架(1)——前言的更多相关文章
- 从零开始编写自己的C#框架(2)——开发前准备工作
没想到写了个前言就受到很多朋友的支持,大家的推荐就是我最大的动力(推荐得我热血沸腾,大家就用推荐来猛砸我吧O^-^O),谢谢大家支持. 其实框架开发大家都知道,不过要想写得通俗点,我个人觉得还是挺吃力 ...
- 从零开始编写自己的C#框架 ---- 系列文章
目录: 从零开始编写自己的C#框架(1)——前言从零开始编写自己的C#框架(2)——开发前的准备工作从零开始编写自己的C#框架(3)——开发规范从零开始编写自己的C#框架(4)——文档编写说明从零开始 ...
- [转帖] 从零开始编写自己的C#框架(27)——什么是开发框架
从零开始编写自己的C#框架(27)——什么是开发框架 http://www.cnblogs.com/EmptyFS/p/4105713.html 没写过代码 一直不清楚 框架的含义 不过看了一遍 也没 ...
- 从零开始编写自己的C#框架(25)——网站部署 【转】
服务器安全部署文档 目录1. 前言.. 3 2. 部署环境.. 3 2.1 服务器环境信息.. 3 3. 磁盘阵列配置.. 4 4. 安装操作系统.. ...
- 从零开始编写自己的C#框架(26)——小结
一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...
- 从零开始编写自己的C#框架(25)——网站部署
导航 1.关掉访问保护 2.发布网站 3.复制网站到服务器 4.添加新网站 5.设置网站访问权限 6.设置文件夹访问权限 7.控制可更新文件夹执行权限 8.设置“应用程序池”.net版本与模式 9.附 ...
- 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
最近很忙,杂事也多,所以开发本框架也是断断续续的,终于在前两天将前面设定的功能都基本完成了,剩下一些小功能遗漏的以后发现再补上.接下来的章节主要都是讲解在本框架的基础上进行开发的小巧. 本框架主要有四 ...
- 从零开始编写自己的C#框架(17)——Web层后端首页
后端首页是管理员登陆后进入的第一个页面,主要是显示当前登陆用户信息.在线人数.菜单树列表.相关功能按键和系统介绍.让管理员能更方便的找到息想要的内容. 根据不同系统的需要,首页会显示不同的内容,比如显 ...
- 从零开始编写自己的C#框架(15)——Web层后端登陆功能
对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证.用户在线记录.相关日志记录.单用户或多用户使用帐号控制等,都是在这个页面进行处理的. 1.在解决方案中创建一个Web项目,并将它设置 ...
随机推荐
- 从RPC开始(一)
这是一篇关于纯C++RPC框架的文章.所以,我们先看看,我们有什么? 1.一个什么都能干的C++.(前提是,你什么都干了) 2.原始的Socket接口,还是C API.还得自己去二次封装... 3.C ...
- 探究@property申明对象属性时copy与strong的区别
一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...
- 实现代理设置proxy
用户在哪些情况下是需要设置网络代理呢? 1. 内网上不了外网,需要连接能上外网的内网电脑做代理,就能上外网:多个电脑共享上外网,就要用代理: 2.有些网页被封,通过国外的代理就能看到这被封的网站:3. ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- Android 7.1 - App Shortcuts
Android 7.1 - App Shortcuts 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Shortcuts 文中如有纰漏,欢迎大家留言 ...
- CSharpGL(33)使用uniform块来优化对uniform变量的读写
CSharpGL(33)使用uniform块来优化对uniform变量的读写 +BIT祝威+悄悄在此留下版了个权的信息说: Uniform块 如果shader程序变得比较复杂,那么其中用到的unifo ...
- 应该是Angular2的一个bug?
为了应对未来的趋势,及时赶上下一趟互联网技术,我最近也在通过具体项目研究angular2,首先必须要吐槽的是,学习angular2的成本本身不高,但是一堆的工具.配置实在让人 很是焦灼,就像asp.n ...
- 「译」JUnit 5 系列:条件测试
原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...
- 免费道路 bzoj 3624
免费道路(1s 128MB)roads [输入样例] 5 7 21 3 04 5 13 2 05 3 14 3 01 2 14 2 1 [输出样例] 3 2 04 3 05 3 11 2 1 题解: ...
- 从史上八大MySQL事故中学到的经验
本文列举了史上八大MySQL宕机事件原因.影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级). 一.Per ...