记得十五年前自学编程时,拿着C语言厚厚的书,想要上机都不知道要用什么编译器来执行书中的例子。十二年前在大学自学ASP时,由于身边没有一位同学和朋友学习这种语言,也只能整天混在图收馆里拼命的啃书。而再后来也差不多,自学了很多不同的知识,都一直只能自己默默的克服一个又一个困难。所以这几年带一些应届生或只有一两年经验的新人时,都会同他们讲:你们现在太幸福了,有问题可以找度娘,还可以找我来解决。做为过来人,能深深的体会到刚入门的时候,没有系统的介绍和老师指导,会多走很多很多弯路和经历过不知多少不眠之夜,头发都不知白了多少根。
虽然工作了这么多年,但一直都没有将自己成长的点点滴滴记录下来,觉得非常的遗憾,很多技术现在都忘了。而在博客园注册博客也有好几年了,也一直空空的,直到去年的七月份,才尝试将自己学习SubSonic3.0的过程慢慢记录下来,然后天天上博客园来刷页面,在这个过程中从各位大牛的身上学到了很多很多东西,非常感谢大家无私的分享。
在写博的过程中,非常羡慕众多大神能写了一系列的文章,自己虽然不是个牛人,也想尝试一下,对自己这么多年的技术做一下总结,写一写一个项目无到有,到最终上线的过程,希望能给初学者一个了解的窗口。
本系列文章主要讲的就是怎么从项目的准备、需求分析、框架设计、编码、测试到服务器的部署,来讲述开发过程中的注意事项和使用相关插件来打造一个快捷开发的ORM框架(当然你也可以使用本系列中讲述的思想,使用其他插件来开发你自己的框架)。
由于近一年时间一直都在接触和使用SubSonic2.2与SubSonic3.0,也接触了不少还在使用或正在学习的朋友,所以写写如何使用SubSonic3.0来开发ORM框架,希望对大家有所帮助。虽然SubSonic插件,也有不少朋友都说它已经过时了、已经没什么人在继续使用了......不过我还是坚持自己的看法,无论是SubSonic还是其他ORM框架插件,只要适合自己的适合公司的就是最好的。当然以后项目有变动也可能会使用其它ORM插件,哈哈...
本文章适合什么朋友?
学过相关开发语言的初学者或有过一定开发经验但对开发与框架架构缺乏经验的人。
下面简单说说这个框架的特点:
在最近几年时间里,我一直在做框架开发,用不同的语言开发了几个不同的框架,要说这几个框架的共同特点是什么:那就是快,不少同事朋友使用了我的框架后,都给了正面的评价,可以减少60%以上的代码量,而开发周期也自然可以压缩50%以上的编码时间(实际上使用了T4模板或相关代码生成工具的都有这种感觉)。不但可以非常快速的完成功能开发,而且进行二次开发也非常方便快捷(除了自己几年前写的第一个框架,呵呵......),当然性能也是不错的。
目录:
从零开始编写自己的C#框架(1)——前言
从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍
从零开始编写自己的C#框架(12)——T4模板在逻辑层中的应用(一)
从零开始编写自己的C#框架(13)——T4模板在逻辑层中的应用(二)
从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)
从零开始编写自己的C#框架(18)——Web层后端权限模块——菜单管理
从零开始编写自己的C#框架(20)——框架异常处理及日志记录
从零开始编写自己的C#框架(29)——设计用例
......(待续)
(由于个人工作太忙,后面的章节等手上的项目完成的七七八八后会继续写下去)
这不是最终的目录,会在编写的过程中根据具体情况作出调整,如果想要对开发过程描述得更加具体的话,初步估计目录数量会多上2至3倍。本项目只是完成框架以及后端系统的常用功能,对前端与其他方面的内容,如果本系列很受欢迎的话会考虑继续编写实现出来。
总结
要写这一系列文章,朋友们知道后都说好大的工程啊......说的也是,要全部写完,也要好长的时间,水平有限到时也不知道会碰到多少雷区,也不清楚写出来的内容是否表达得清楚,鸭梨山大@_@,不过事情都是逼出来的,希望在写的过程中自己也能得到一个好的提升。
本系列文章会将我开发的过程说明与源代同步更新上来,如果引用了某些文章或使用了某些开源代码也会详细标明出处,其版权归原作者所有,编写本系列文章主要是对自己这么多年工作做一个总结,也希望能帮助到刚入行的朋友,谢谢你的关注,如果觉得本系列文章有帮到你,请帮忙点击推荐。
版权声明:
本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。
发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 或Email给我(1654937@qq.com),大家一起探讨。
更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/