WPF 基础到企业应用系列4——WPF千年轮回
本篇主要对Application、window、多线程、类继承结构、逻辑树与可视树等的理论和实际Demo进行了探讨,通过这一篇文章,我们可以大概了解WPF在这些元素上的处理,同时也给我后面的内容奠定了基础,后面会逐渐牵涉到实际的一些案例和新的概念,所以如果有不熟悉且对这个专题感兴趣的朋友可以仔细看一... ...
你知道Unity IoC Container是如何创建对象的吗?
之前园子里也有一些介绍企业库的文章,其中也不乏对Unity的介绍。虽然微软官方声称其为轻量级的IoC框架,但是并不意味着Unity会很简单。相反,也正是因为复杂性,很多人撰文介绍Unity的时候,往往为了面面俱到,导致很多读者不知所云。最终的结果是,了解Unity的读者能够看懂,不懂的人读了还是不懂... ...
为什么EXE不能超过4GB
为什么EXE不能超过4GB前几天看到大家在讨论EXE装载的问题,很新奇。有的说PE装载受到进程空间的限制,有的说PE一定是整体装入,有的用ZIP自解压包来举例子。我当时大概想了一下,觉得PE不一定是要整体装入的。PE文件包含一个PE header,里面定义了各个段,比如代码,资源等等的偏移地址,装载... ...
对《30个提高Web程序执行效率的好经验》的理解
阅读了博客园发布的IT文章《30个提高Web程序执行效率的好经验》,这30条准则对我们web开发是非常有用的,不过大家可能对其中的一些准则是知其然而不知其所以然。 下面是我对这些准则的理解和分析,有些有关JS性能的准则,我也测试了它们的差异,大家可以下载DEMO页面,如有理解不正确的地方,请大家指正 ...
讨论: TDD in HTML & JavaScript 之可行性和最佳实践
最佳实践一:应用MVC模式;最佳实践二:应用依赖注入和IoC容器;最佳实践三:应用模板引擎呈现主体内容;最佳实践四:应用Script#;... ...
经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (二)
------------------前言------------------发了第一篇文章后,有不少同志留言,看来socket编程仍然是软件系统里面一个比较难的部分。第一篇文章主要介绍了传输协议的设计,这个是整个socket框架最底层基础的部分,接下来整个socket服务器大楼都将在这个协议设计基础... ...
Swifter C#之inline还是不inline,这是个问题
如果问题是C#怎么才能和C++一样快,那么真正的问题就是C#到底是慢在哪。内联是诸多影响C#性能中的一个,如果频繁调用的大量小函数没有内联,那么对性能的影响是非常大的,因为建栈、删栈、压栈和跳转的时间加起来很可能比实际执行函数体的时间还长。 在实际的应用中,Milo Yip的《C++/C# /F#/... ...
当2个项目中出现了只有一个方法的相同代码时,要不要单独建一个项目来消除重复代码
最近碰到一个这样的问题,有两个Solution,它们之间在数据层上有一定的联系,简单说就是B项目为A项目提供录入数据的功能,功能上它们两个各有分工,代码暂时也没有耦合,但都出现了一个验证某数据的要求,这个算法是相同的。我的第一反应是肯定要独立出一个Project,单独有一个类,里面有这个验证方法。然... ...
也谈事件(Event)
最近园子里发表了一些讨论“事件(Event)”的文章,我也来凑个热闹,谈谈我对事件的一些粗浅的认识。本文不谈设计模式(主要是观察者模式),只从运行时的角度来分析事件这个对象到底是个什么东西?它有那么神秘吗?为了更好的分析事件,本文将会编写一些例子来模拟事件的订阅机制。本文对事件的分析可以概括为下面三... ...
关于近期C#大论战的回应
自从在cnblogs和csdn写了几篇批评C#/.NET的博文后,便受到了多方.NET粉丝的轮番群殴:http://www.cnblogs.com/topic/53/。这段时间正好出差,没有及时回复,便被某些朋友视作理屈词穷。其实,我在第一篇博文中就说过,我既然列出这些论点,一定有支持这些论点的实践... ...
WPF 基础到企业应用系列3——WPF开发漫谈
这篇主要从WPF的开发基础讲起,讲了一些WPF的开发工具等内容,用一个例子来对比了WPF和WinForm的异同之处同时也对某些技术进行了漫谈,通过这篇文章,我们对WPF有了一个基本的了解,所以从下一篇文章开始我们将进入WPF的知识分类讲解,最后会以项目运用、优化和WPF4结束整个系列文章。 ...
Android 系统缺陷不完全点评
前些时间入手了HTC G7 Desire和MOTO Milestone,把玩了一阵了,对Android系统总体感觉不错,但有很多细节会让人恼火到骂娘,我很不明白制作出如此优秀系统的团队为何会犯这些低级愚蠢的错误,且在这么多个版本更新中都没有修正,在此点评一下,期待改进并期待与大家探讨。
... ...
老调重弹——如何面试(二)
我们部门的招聘面试最后都会有一个环节,我们会说“我们的问题今天就这么多了,如果您有什么问题的话呢,现在可以问我们”。 这一个步骤也许不是每一个公司的面试都会有,不过如果有的话,那么恭喜你,这个公司应该比没有这一环节的公司稍微专业那么一点点。最简单的理由是,至少招聘方把这个看作是一个双向选择的过程,给... ...
分布式计算,WCF+JSON+实体对象与WebService+DataSet效率大比拼
最近做公司项目,我们要整合所有业务系统的客户数据,各系统的数据库有的Oracle,有点是SQLSERVER,而且表结构也不相同,如何整合不同系统之间的客户数据成为一个令人头痛的难题!我们用WCF做了一个分布式计算系统,现在就来做一个分布与不分布的效率测试。 ...
C++/C#/F#/Java/JS/Lua/Python/Ruby渲染比试
前篇博文把一个C++全局光照渲染器移植至C#,比较C++和C#之性能。……本人陆续移植了C++代码至Java、JavaScript、Lua、Python和Ruby,赵姐夫亦尝试了F#。本文提供源代码、测试结果、简单分析、以及个人体会。 ...
重温数据库访问——故事篇
本文想借用故事的方式来说一下ADO.net的工作方式。虽然现在都ORM了,但是了解一下ADO.net还是有必要的。 在茫茫的大海上有许多的岛,其中一个岛的名字叫做“应用程序岛”。这座岛上商业非常发达,高楼大厦、店铺林立。但是岛的面积不够大,没有地方建立仓库。所以市长决定,把临近的一座小岛开发出来,... ...
WPF 基础到企业应用系列2——WPF前世今生
这篇文中介绍了WPF的前世今生,同时介绍了WPF的运行原理和基本应用,在最后也介绍了WPF所包含的主要功能和与现有技术的对比,那么在下一篇我们会讲解WPF的实际开发,通过一个案例对比WPF和之前的WinForm之间的差别,从而对WPF有一个正确的认识。 ...
浅谈C#的语法特性及杂七杂八
园子里的首页已经在所谓的C#大论战和语言大作战上,风风火火地持续了快一个月了,我想也该告上那么一段落了。 我只在这里写下我眼中的看法。 1. C#的语法糖 在之前,每当别人问起我,某个C#的新语言特性的时候,我总会说,其实就是这么一回事,他不过是一个语法糖,没什么稀奇的,你可以看一下Refle... ...