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中Json数据读取与创建
一: Json的特性和在数据交互中的地位就不用说了,直接看案例. 首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项 ...
- Python Tool Visual Studio简单使用
由于一直在做.NET的开发,一直用的IDE是VS系列的,所以想用VS也能开发Python,刚好微软提供一个插件PTVS(Python Tool Visual Studio)专门应用于Python开发的 ...
- ajax后台return,js判断方法
private string CreateJoson(string result, string message) { return "{" + "\"resu ...
- [老老实实学WCF] 第六篇 元数据交换
老老实实学WCF 第六篇 元数据交换 通过前两篇的学习,我们了解了WCF通信的一些基本原理,我们知道,WCF服务端和客户端通过共享元数据(包括服务协定.服务器终结点信息)在两个 终结点上建立通道从而进 ...
- iOS-画板的实现
先上一张效果图,有看下去的动力 再来一张工程图片 好,首先是对线的实体的封装,在LineEntity.h文件中创建一个点的数组 然后在LineEntity.m文件中,在初始化方法中给points变量开 ...
- 对于javascript的词法作用域的思考
曾经看到过这样一段有意思的程序: var a=3; function scopeTest(){ console.log(a); var a=2; console.log(a); } scopeTest ...
- 【leetcode】368. Largest Divisible Subset
题目描述: Given a set of distinct positive integers, find the largest subset such that every pair (Si, S ...
- java synchronized关键字浅探
synchronized 是 java 多线程编程中用于使线程之间的操作串行化的关键字.这种措施类似于数据库中使用排他锁实现并发控制,但是有所不同的是,数据库中是对数据对象加锁,而 java 则是对将 ...
- Java序列化与反序列化(Serializable)
Java序列化与反序列化(Serializable) 特别注意: 1.要序列化的类必须实现Serializable借口 2.在反序列化(读取对象)的时候必须额外捕获EOFException 3.序列化 ...
- builder-设计模式
package com.wp.java.builder; import org.junit.Test; public class DoDoContactDemo { @Test public void ...