从零开始编写自己的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)——动手设计一个自己的开发框架

......(待续)

(由于个人工作太忙,后面的章节等手上的项目完成的七七八八后会继续写下去)

这不是最终的目录,会在编写的过程中根据具体情况作出调整,如果想要对开发过程描述得更加具体的话,初步估计目录数量会多上2至3倍。本项目只是完成框架以及后端系统的常用功能,对前端与其他方面的内容,如果本系列很受欢迎的话会考虑继续编写实现出来。

  总结

  要写这一系列文章,朋友们知道后都说好大的工程啊......说的也是,要全部写完,也要好长的时间,水平有限到时也不知道会碰到多少雷区,也不清楚写出来的内容是否表达得清楚,鸭梨山大@_@,不过事情都是逼出来的,希望在写的过程中自己也能得到一个好的提升。

  本系列文章会将我开发的过程说明与源代同步更新上来,如果引用了某些文章或使用了某些开源代码也会详细标明出处,其版权归原作者所有,编写本系列文章主要是对自己这么多年工作做一个总结,也希望能帮助到刚入行的朋友,谢谢你的关注,如果觉得本系列文章有帮到你,请帮忙点击推荐。

 版权声明:

  本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com联系我,非常感谢。

  发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 或Email给我(1654937@qq.com),大家一起探讨。

  更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

只有将自己置空,才能装进更多的东西 

C#框架的更多相关文章

  1. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. 旺财速啃H5框架之Bootstrap(五)

    在上一篇<<旺财速啃H5框架之Bootstrap(四)>>做了基本的框架,<<旺财速啃H5框架之Bootstrap(二)>>篇里也大体认识了bootst ...

  4. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  5. Scrapy框架爬虫初探——中关村在线手机参数数据爬取

    关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...

  6. 制作类似ThinkPHP框架中的PATHINFO模式功能

    一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...

  7. 旺财速啃H5框架之Bootstrap(四)

    上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架.... 对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面. ...

  8. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  9. Hibernatel框架关联映射

    Hibernatel框架关联映射 Hibernate程序执行流程: 1.集合映射 需求:网络购物时,用户购买商品,填写地址 每个用户会有不确定的地址数目,或者只有一个或者有很多.这个时候不能把每条地址 ...

  10. [虾扯蛋] android界面框架-Window

    从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等.下面就以这几个类为出发点来概览下安卓开发的"界面架构&quo ...

随机推荐

  1. 第四-generation音频:互联网智能声音会火

    我把声音分成四个年龄:传统的立体声插头线-蓝牙音响-wifi发出声音-智能声音. 传统的立体声插头线:传统的声音,您必须使用电缆和其他输入源.这样的声音是现在市场上最流行的音频上. 蓝牙音响:蓝牙无线 ...

  2. 《学习opencv》笔记——矩阵和图像处理——cvMax,cvMaxS,cvMerge,cvMin and cvMinS

    矩阵和图像操作 (1)cvMax函数 其结构 void cvMax(//比較两个图像取最大值 const CvArr* src1,//图像1 const CvArr* src2,//图像2 CvArr ...

  3. 终端查询数据库sqlite(创建你自己,或者是coredata创建)那里的东西

    首先需要知道数据库的路径,coredata一般都是在沙箱中创建Documents目录的.虽然他建立了自己看, sqlite3 #数据库路径#        //进入数据库 .tables  //查看数 ...

  4. OCEANIAERP对接-code盘点机并存储实时库存计划和方案的使用,实时库存,云清查方案

    1.     PDA手持设备按键说明 [Tab]键:使输入焦点在控件上切换. [ESC]键:弹出是否退出确认对话框,退出操作界面或程序. [OK]键:确认输入或选择,进入下一步操作. [C]键:删除键 ...

  5. [数字dp] hdu 3565 Bi-peak Number

    意甲冠军: 为了范围[X,Y],的最大位数的范围内的需求高峰和值多少. 双峰是为了满足一些规定数量 你可以切两 /\ /\ 形式. 思维: dp[site][cur][ok]  site地点  面的数 ...

  6. C语言文件操作函数大全

    http://blog.csdn.net/mu0206mu/article/details/18980913 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include&l ...

  7. 终结者:具体解释Nginx(一)

            相信非常多人都听过Nginx.这个小巧的东西能够和Apache及IIS相媲美. 那么它有什么作用呢?一句话.它是一个减轻Web应用server(如Tomcat)压力和实现Web应用se ...

  8. Java设计模式菜鸟系列(十三)建模和实现状态模式

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39829859 状态模式(State):同意对象在内部状态改变时改变它的行为,对象看起来好像 ...

  9. axure & Markman

    axure & Markman学习总结 最近学了几款有意思的软件,一款是axure,另一款是Markman.接下来聊聊自己的学习心得吧. 关于axure,百度上的解释是:是一个专业的快速原型设 ...

  10. boxfilter 实现

    A implementation of boxfilter boxfilter 是均值滤波的一种改进.在以下这篇blog里面有介绍. http://www.cnblogs.com/easymind22 ...