新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序

  在博客园学习很长时间了,今天终于自己也开通了博客,准备分享一些感悟和经验。首先感谢博客园园主提供了这么好的程序员学习交流平台,也非常感谢张善友dax.netnetfocus司徒正美 等技术大牛的无私分享,从他们身上学到了很多。还有我最近一直关注的田园里的蟋蟀,分享了很多新的技术和思想方法,在此也深深地感谢!希望蟋蟀再接再厉,多多分享,向你学习!

  我自己一开始工作(2002年)就从事WEB开发(ASP.NET方向),到现在已经13个年头了,从初级程序员到技术经理、开发部经理、项目总监,后来合伙创业失败,转入到企业管理培训和咨询行业工作了5年,以开阔视野、提升全面能力、积累人脉资源。2014年进入到一家上市公司刚投资组建不久的移动互联网创业团队,最初主要负责产品设计,但很多设计好的功能和想法,开发团队的技术无法实现。实在没有办法,只好自己重新研究现代WEB前端技术,做好标准和范例,开发好最难的前端部分,再交给开发团队实现后端。几个月后,开发团队交出来的成果还是差强人意,公司让我接管开发部,亲自领导开发团队。于是我招聘了拥有十多年工作经验的产品经理分担一部份产品设计工作,我的精力更多放在了重建开发团队方面。

  我接手开发部时已经招了一些两、三年工作经验的和几个十年左右工作经验的JAVA开发人员(因为总部公司有十几年的JAVA开发基因,在成立我们这个创业团队时,从以前的开发团队派的技术骨干,所以后端开发也选择了JAVA技术),我接手后又招了几个,但无论是开发效率还是质量方面,都达不到预期。2014年底公司在准备一个新的产品时,我在考虑了Java、PHP、Node.Js、ASP.NET后,最终选择了ASP.NET作为新项目的后端开发技术。选择ASP.NET的原因可以另写一篇文章,但简单来说,ASP.NET的新版本,开源和跨平台已不是问题,并且已拥有像Node.Js一样的全异步机制,C#语法简洁优秀。

  在这段时间的招聘面试过程中发现一个很严重的问题,大多数无论是工作2、3年的还是5到10年的程序人员,基础知识、经验能力、对新技术的了解和运用,都差得让我难以理解。当然,因为我们是创业公司,很难吸引到优秀人才来应聘,但工作了很多年的程序员,还仅仅只是会简单三层架构的数据增删改查,没什么技术特长和开发思想,连能准确回答“int类型是多少位,能表达最大范围是什么数量级,或者是2的多少次方”这个问题的面试者都几乎没有。对“依赖注入”熟悉的面试者几乎没有,应聘高级开发和架构师岗位的人能说得清楚缓存机制的也几乎没有。其实,这每一个知识点,在互联网上都能找到很详细的资料。我认为只要找到方向并努力学习和运用,半年时间已经可以超过大多数工作2、3年的人,认真努力2年时间可以超过大多数工作5年8年的人,因为大多数工作多年的程序员多数时间都在做重复的、没有提升性的工作。这段时间实在招不到满意的有经验的,所以让HR多招一些有强烈上进心的应届毕业生来培养。

  我虽然入行的时间比较早,但只有前6年是在具体做技术开发,后边几年只是为企业提供解决方案,很少具体写程序。我是从2014年又开始重新学习各类前端、后端技术,所以现在只是一个新人,愿意向各位有经验的前辈学习,愿意与各位新人共同成长。

  互联网上有很多好的经验分享,有很多好的开源项目,但相对也比较分散,我先列举一下这几个月以来学习并运用于项目的知识点,后面在详细写文章介绍我是怎么学习和应用的。

前端:

思想:响应式布局、单页面应用、图标字体、MVVM、JS模块化(Sea.JS)、JS模板引擎(juicer)

技术/框架:HTML5、CSS3、LESS、Jquery、Bootstrap、Framework7

组件: Webuploader、Ueditor/Umeditor、Highcharts、Jquery.dataTables、Jquery.form、Jquery.validate、Jquery.Jcrop、Jquery.mCustomScrollbar、Spectrum、Toastr、BlockUI、SuperSlide,还有一大堆小的Jquery插件就省略了

后端:

思想: DDD(领域驱动设计)、TDD(测试驱动设计)、DI/AOP(依赖注入/面向切面编程)、模块化开发、异步编程、分布式架构、敏捷开发之SCRUM

技术/框架:Asp.net MVC5、C# 5.0、Entity Framework 6、xUnit+NSubstitute+ Shouldly

开源组件:AspNet.Identity、AutoMapper、Castle.Windsor、MiniProfiler

工具:Git、VS2013、Sql Server、MongoDB、Redis

基础架构层组件项目文件夹结构 基础架构层组件项目文件结构 模块化开发项目结构

Application层的代码简单得不需要写注释!

权限验证、数据验证、异常处理、事务处理、数据转换等全在基础架构上完成,模块开发者不需要写这些代码。

Application Service的方法可以自动生成Web Api的方法,客户端Ajax直接调用,不需要写Controller。

Application Service的方法都自动应用了UnitOfWork(工作单元)模式,除了以Get开头的方法,其他方法自动开启数据库事务。




权限验证、数据验证、异常处理、事务处理、数据转换等全在基础架构上完成,模块开发者不需要写这些代码。

Application Service的方法都自动应用了UnitOfWork(工作单元)模式,除了以Get开头的方法,其他方法自动开启数据库事务。

再贴一些上个项目中的前端界面截图:

哇噻,时间已经太晚了,快快睡觉!

第一次在博客园发文章,格式没排好,先发布再修改。

时间: 2024-10-11 17:48:52

新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序的相关文章

快应用开发与架构概述

目录 快应用开发与架构概述 1背景介绍: 2技术实现: 技术优缺点对比 3开发体验: 项目脚手架: 调整样式: 系统能力: 事件响应: 原生组件: 调试开发: 开发体验总结: 4架构概述 整体思路: 编译时: 运行时: JS层架构: DOM模型: 页面渲染: 架构概述总结: 快应用开发与架构概述 1背景介绍: 目标: 即点即用, 快应用平台的统一: 联盟共建, 统一标准, 基于ROM 多场景融入: 浏览器, 全局搜索,应用商店: 2技术实现: 技术优缺点对比 移动网页:无需安装, 升级容易. 性

.NET快速信息化系统开发框架 V3.2->WinForm版本新增新的角色授权管理界面效率更高、更规范

角色授权管理模块主要是对角色的相应权限进行集中设置.在角色权限管理模块中,管理员可以添加或移除指定角色所包含的用户.可以分配或授予指定角色的模块(菜单)的访问权限.可以收回或分配指定角色的操作(功能)权限.可以对所有角色.用户.模块(菜单).操作(功能)权限进行集中批量设置,角色户授权范围的设置(类似于用户授权范围的设置),表字段权限的设置以及表约束条件权限的设置等. 在角色授权管理模块可以对指定角色进行相应权限的分配与收回,添加与移除角色所拥有的用户,对角色所拥有的操作功能.模块访问权限等进行

新媒体运营和新媒体编辑有什么区别?哪个更有发展?

新媒体,在移动互联网时代是非常受欢迎的,也是备受关注的区域.随着新媒体的盛行,催生了很多新的工作岗位,比如说新媒体运营.新媒体编辑.这两个岗位看似相似,但是之间有很大的不同,那么新媒体运营和新媒体编辑之间的区别在哪里?接下来从几方面为大家区分一下. 运营属于整体,而编辑只是局部内容,二者之间缺一不可,二者之间也有很大的区别,每个人的兴趣点不同,自然选择上也是存在差异的. 一:从工作内容上来看: 新媒体编辑:主要针对新媒体运营做出所需要的内容,包含了图片.文案.视频以及活动策划等进行编辑,会与设计

以客户需求为中心,宏杉科技提出了混合云技术新思想

宏杉科技是一家成立七年的创业公司.根据IDC中国外部磁盘存储数据,2016年上半年宏杉科技位居中国Top 10增长第一位.2016年,宏杉科技历时6年实现6.1亿营收,公司员工达千余人.李治就此感慨说:实业不易,取不得巧,吹不了牛. 2010年成立的时候,宏杉科技是中国最早真正进行存储自主研发的本土企业之一.七年后,能够提供块存储.文件.存储虚拟化和存储软件四大类产品的全线企业级存储厂家,国外是EMC.日立.富士通,国内就是宏杉和华为.2016年初宏杉科技历时两年研发推出了面向企业混合云环境的存

9种新思想

672. 2011年11月8日 - Lisp语言诞生的时候就包含了9种新思想.其中一些我们今天已经习以为常,另一些则刚刚在其他高级语言中出现,至今还有2种是Lisp独有的. [2016-05-01 15:35:48]673. (8) 代码使用符号和常量组成的树形表示法. [2016-05-01 15:36:21]674. (9) 无论什么时候,整个语言都是可用的. [2016-05-01 15:36:35]675. Lisp语言古怪倒不是因为它的语法很古怪,而是因为它根本没有语法,程序直接以解析

2019,新硬件与新信息消费

2019年1月4日,也就是第一代iPhone发布12年后.经历了12代产品的迭代,iPhone终于面临增长停滞的局面.当天,苹果公司CEO库克一封致投资人信中承认困境并近20年来首次下调了营收预期,随后苹果从三个月前的万亿美元市值下跌到6000多亿美元市值,跌去了4500亿美元市值.但正如HDD机械硬盘厂商的变迁:2018年的时候,全球曾经有超过200家HDD厂商,或破产或被并购进而压缩整个产业到只有希捷.西部数据和东芝三大厂商,但带来的结果却是大容量硬盘作为一种存储介质的大规模流行. 智能硬件

蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

***********************************************声明***********************************************************************  原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39860137 *******

道路运输车辆卫星定位系统标准符合性检测 ----新规则、新方法

道路运输车辆卫星定位系统标准符合性检测 ----新规则.新方法 全称叫道路运输车辆卫星定位系统标准符合性检测或道路运输车辆卫星定位系统标准符合性审查,口语(或简称)为过检.交通部过检.平台过检.平台测试等等,符合性审查分硬件和平台,硬件就是即是车载终端,平台即运营平台,平台分企业平台.政府平台,企业平台分经营性与非经营性平台,政府平台分市级平台与省级平台.在这里讨论的是平台符合性审查,而非硬件. 此博文只介绍2015年恢复检测之后,采取的新测试规则,新测试方法.关于符合性审查的更详细说明,请参看

有个好的基础,才能走得更高更远

历程     大学 每个人在个方面都有自己的历程,情感上的,学习上的.经历和环境能一定层面上的反映出人的价值观和态度.近期一个上一份工作的小弟,准备从厦门离开回到福州.这件事情倒是没什么好多谈的,只是这件事情让我不禁拿自己在运维上的经历和他做对比. 07年志愿失利到了本省的三本院校,不咋样的师资,不咋样的环境,一个接触IT也仅仅只是QQ的刚毕业的高中生.课程没有体系,老师大都刚毕业的研究生,缺乏实际教学能力,也缺乏引导的能力.学校地理位置上处于一个穷乡僻壤,信息极其闭塞.专业大部分人基本玩游戏,