C# 越来越复杂了
自从三年前来到现在的公司以后,基本上不怎么使用.NET进行开发了。但最近因为公司有个CRM的项目,所以只有重新检起.NET进行开发。
因为近3年没有搞.NET的开发了,因此也不敢乱整个框架,在看了一周后,最后选择最新的EF 6.0 + MVC 4作为整体框架。因为自己在PHP上也基本使用MVC作为前端的框架,因此在使用MVC上暂时还没有什么大的问题。
但是在接触EF 后才感觉自己太落伍了,感觉在三年前知道有扩展方法、linq,但经过三年的发展这些特性对.NET及C#的改变不能说叫大,而应该叫巨变,特别是在使用了其它的语言后再回头看C#最近几年的发展,感觉C#的已经不在是一门语言,而是又想解决语言问题,又想解决开发框架问题的复杂结构体。
这其中我觉得最不应该出现在就是linQ,linq最先出来是大家就说是.NET 官方的ORM工具,为了满足select * xxx的语法,硬是将语法都进行了改变,让我这种老实学会了SQL和C#语法的人,又只有学习一种新讲法,有点像C#也有点像SQL。同时为了产生也这种既像C#又像SQL的语法,对.NET架构又进行了n多的调整,新加入了N多的接口,并且大部分还是范型的接口,这些接口很多都是使用扩展方法的形式加入,这里加一个扩展,那里加一个扩展,后面一个简单的集合,硬是搞也了多几倍的接口也来,并且还分常规版本和泛型版本。
我真不知道该调常规版本还是泛型版本,这样做就是为了能够使用所谓的linq,一种分裂的语法。
我觉得语言应该解决的是语言的问题,而不是架构的问题,比如PHP作为一种脚本语言,没有感觉它有多么强大的功能,但学习它我只需要学习语法,因此上手很快;在学习oc和swift时,同样我也只需要学习语法,当我把语法学习好了我再去学习ios,因此虽然OC语法特别难看,但我也没有感觉特别困难,但作为使用C# 六年的人,现在使用C#或者EF都让我觉得到如此复杂,不知道是岁数大了,还是没有学习好的原因,也不知道其它人是不是跟我同样的感受。
C# 越来越复杂了的更多相关文章
- host字段变复杂了
声明: 本博客欢迎转载,但请保留原作者信息! 作者:李人可 团队:华为杭州OpenStack团队 讨论的是openstack中卷的host属性. 印象中.社区H版本号对于volume的host值表示的 ...
- k2 4.6.9安装记录-够复杂了
首先需要准备一台Windows server 2008R2 系统.可以从微软官方下载. 下载地址: http://www.microsoft.com/zh-cn/download/confirmati ...
- 51nod 1640 天气晴朗的魔法 二分 + 克鲁斯卡算法(kruskal算法) 做复杂了
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 一开始想的时候,看到要使得最大值最小,那这样肯定是二分这个最大值了 ...
- Talented Chef(简单题,被我想的太复杂了,用复杂的方法当然会超时咯,由此可见,并非所有题都是想的越多越好)
Description As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the ...
- 拓扑优化中SIMP方法与水平集方法有何优缺点,水平集法变换到高维,不是更复杂了
作者:周平章链接:https://www.zhihu.com/question/52008623/answer/187927508来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 漫谈TCP
不得不承认,tcp是一个非常复杂的协议.它包含了RFC793及之后的一些协议.能把tcp的所有方面面面具到地说清楚,本身就是个很复杂的事情.如果再讲得枯燥,那么就会更让人昏昏欲睡了.本文希望能尽量用稍 ...
- Enterprise Integration Pattern - 组成简介
近些年来,越来越多的Web应用正在逐渐向大型化的方向发展.它们通常都会包含一系列相互协作的子服务.在开发过程中,如何让这些子服务协同工作常常是软件开发人员所最为头疼的问题,如各个子服务之间的数据表示不 ...
- 子坐标系C在父坐标系W中的旋转问题
关键词:空间旋转.旋转轴.刚体旋转 用途:相机位姿估计.无人机位姿估计 文章类型:概念.公式总结(本文不带推倒过程,若想了解公式是如何推出来的请自习搜索文献),C++函数展示 @Author:VSha ...
- Contiki学习笔记 第一个程序:Hello World
想来想去,还是得先写一个程序,找下感觉,增强一下自信心,那就国际惯例Hello World吧.先到这个网址下一个Instant Contiki 2.7.之所以没用3.0的,是因为有些问题,我源码是下的 ...
随机推荐
- android app性能优化大汇总(UI渲染性能优化)
UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑 ...
- Windows 10 (or 8)Chrome 观看视频发生flash不能加载,即"could't load plugins"原因之一
最近一直如题,不能看视频,后来发现从一个已经使用管理员权限打开的应用转到Chrome就可以加载flash,而从桌面打开Chrome就加载不了. 今天再次查找信息,从Ubuntu下Chrome不能加载f ...
- jenkins(一)集成环境搭建示例
一.环境准备 1.安装java环境 测试自己机器是否已安装,在dos上运行java-version ,出现如下类似结果表示安装完成 2.安装Git/svn git具体配置见我的博客 “GitHub使用 ...
- HTML+CSS学习笔记 (13) - CSS代码缩写,占用更少的带宽
标签:HTML+CSS 盒模型代码简写 还记得在讲盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在m ...
- 使用pch预编译文件
首先新建一个pch文件,然后要修改这个项目的Build Setting中的Prefix Header 修改为 $(SRCROOT)/项目名称/预编译文件名: 一般pch文件的用处: 1.导入框架, ...
- (转)TeamCity配置笔记
1.编译sln 2.发布网站 3.重复代码检测 4.代码分析 5.单元测试&覆盖率测试 查看代码覆盖率 7.代码签入时自动触发编译 8.通知 1.在teamcity安装目录中找到TrayNot ...
- 移动web开发的一些坑
类似的题目一搜一大堆,我就不再写那些meta标签类似的内容了,记录一下自己实现中遇到的问题,如果能帮到你,那再好不过了. 1px border的问题,大家能搜到很多方案,但如何选择还是要根据实际情况, ...
- 4月13日学习笔记——jQuery动画
基本动画函数 $("#divPop").show(); $("#divPop").hide(); $("#divPop").toggle() ...
- 10款很酷的HTML5动画和实用的HTML5应用
1.HTML5的画布花朵生成器可生成多种样式的花朵 HTML5非常流行,利用HTML5制作动画也非常方便,今天要分享一款利用HTML5 Canvas制作的花朵生成器,我们只需要在Canvas画布上点击 ...
- JS函数式编程【译】第二章总结