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的,是因为有些问题,我源码是下的 ...
随机推荐
- XAML
XAML定义 XAML是一种相对简单.通用的声明式编程语言,它适合于构建和初始化.NET对象. XAML仅仅是一种使用.NET API的方式,把它与HTML.可伸缩向量图形(SVG)或其他特定领域的格 ...
- Android 开源项目分类汇总
Android 开源项目分类汇总 Android 开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView ...
- hihocoder#1054 : 滑动解锁(深度优先搜索)
描述 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图案.方向上 ...
- C#自定义时间显示格式
string time = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); 下面是常见的一些日期时间显示格式 标准的For ...
- sql获取时间时分秒
select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())
- WAS缓存导致修改文件不生效问题
当用ftp上传部署增量文件,was应用不生效问题解决方法:一. 修改web.xml文件,需要修改以下三个目录下的文件:1. /opt/IBM/WebSphere/AppServer/profiles/ ...
- 【leetcode】367. Valid Perfect Square
题目描述: Given a positive integer num, write a function which returns True if num is a perfect square e ...
- berkerly db 中简单的读写操作(有一些C的 还有一些C++的)
最近在倒腾BDB,才发现自己确实在C++这一块能力很弱,看了一天的api文档,总算是把BDB的一些api之间的关系理清了,希望初学者要理清数据库基本知识中的环境,句柄,游标的基本概念,这样有助于你更好 ...
- mysql安装过程中出现的错误问题解决方案
最近在学Django,因为与数据库相关,所以我下载并安装了MySQL,安装的过程真的是一把辛酸泪啊.安装过后,查看是否可以使用,出现了cann't connect to mysql server这个错 ...
- 使用CInternetSession CHttpFile下载网页链接地址的文件
思路很清晰,使用CInternetSession创建CHttpFile对象.然后对该对象获取文件信息.进行文件读写操作均可. void DownloadFile(LPCTSTR szURL, LPCT ...