代码改变世界

探讨一种Silverlight的异步编程模式

2010-03-27 16:14 by xiaosonl, 1025 阅读, 2 推荐, 收藏, 编辑
摘要:在开发RIA程序时,处理异步操作是个挺麻烦的问题,尤其是串行的异步调用,经常代码会写的嵌套好几层。之前老赵也介绍过一种方法来简化异步操作。我这是另一种思路。在之前的Silverlight程序开发过程中,我的编程模式是这样的:用户执行一个UI操作,并引发UI事件,此时在UI线程开始执行后台代码。在代码执行过程中,遇到需要异步的操作,如网络请求等,就在另一个线程执行该操作,执行完毕后利用事件或委托继续... 阅读全文

代码的注释

2010-03-27 14:14 by xiaosonl, 855 阅读, 0 推荐, 收藏, 编辑
摘要:这几年来看过一些有关编码实践的书和文章,发现一个规律: 国人的建议大多要求注释详尽,让代码更易读易懂;而老外的建议几乎是尽可能的少,比如只写一些作者意图类的,或代码本身无法直接表达的意思。 这种区别,一方面是大概是国人编码水平不如老外,需要注释来弥补可读性;另一方面,就是代码是用英语来写的,这个是很重要的。虽说代码写的好,可以写的像自然语言一样易懂,可是再自然也还是英语,对于国人普通英文水平较... 阅读全文

下半年要看完消化的技术类书籍

2009-08-16 12:50 by xiaosonl, 225 阅读, 0 推荐, 收藏, 编辑
摘要:《企业应用架构模式》 《分析模式》 《敏捷估计与规划》 《领域驱动设计》 《敏捷软件开发》 阅读全文

中小型企业的人员流失

2009-07-30 23:55 by xiaosonl, 590 阅读, 1 推荐, 收藏, 编辑
摘要:   在整个IT行业当中, 人员流失现象是直是众多公司为之头疼的问题. 这其中又属中小型企业最为严重, 经常被人戏称为"为他人做嫁衣", 往往一个员工在公司工作两三年后, 就跳槽到大公司去了, 导致公司不愿意在培训员工在花费时间和精力. 于是大多数企业的做法, 就是用高薪和发展前景来稳住一批骨干员工, 然后其它的全视为流动型人员,  可替代性高, ... 阅读全文

谈谈Ruby On Rails和ASP.NET

2009-07-25 18:28 by xiaosonl, 1661 阅读, 0 推荐, 收藏, 编辑
摘要:周未花了一天多的时间过了下<<应用rails进行敏捷web开发>>, 照着写了一半的示例程序, 对Rails简单了解一下,  趁还有印象, 来对比一下自己做了一年多的ASP.NET开发. 说的不对可以提, 杜绝骂人, 谢谢合作. 一. ORM. ASP.NET的ORM可选有很多, 如NHibernate, 以及MS自家的Linq to Sql和ADO.NET E... 阅读全文

工作中的系统学习

2009-07-19 03:18 by xiaosonl, 324 阅读, 0 推荐, 收藏, 编辑
摘要:在工作中的知识积累, 基本都是零零散散, 不利于掌握沉淀. 而在工作之后, 便不再有学生时代那么充裕的时间和精力, 去系统全面的学习某方面知识. 所以折衷的方法就是先从广度上建立起自己的知识体系, 分类系统. 然后日常工作中的点滴经验, 都可以归入其中的类别. 像是先建立树的主干, 再慢慢补充支干和叶子, 最终形成一颗完整健全的大树. 这是个长期积累-总结-沉淀的过程. 阅读全文

Uml中的关联与依赖关系

2009-07-11 17:47 by xiaosonl, 295 阅读, 0 推荐, 收藏, 编辑
摘要:类A的方法中需要使用到类B, 则说明A类依赖于B类. 类B是做为类A的一个成员存在, 则说明类A和类B是关联关系. 在类A的帯个生命周期当中, 都可以从类A访问到类B.关联和依赖关系又可以同时拥有, 比如类B做为类A的构造函数参数, 而类A接收类B后又做为自己的一个成员对象. 阅读全文

TDD与重构设计

2009-07-11 15:03 by xiaosonl, 542 阅读, 0 推荐, 收藏, 编辑
摘要:先来看一下TDD的三个经典步骤: 编写一个失败的测试. 编写最简单的实现, 让测试通过. 重构实现. 可以看到, 这里面实际上就是把过程分成了两步: 确定功能需求, 和重构设计. 把这两个分开, 是为了把分析功能需求和设计分开来, 同时只处理其中的一个. 我们经常开发软件中会遇到重写旧系统的情况, 而新系统的设计架构总是比旧的要优秀, 其中很大一个原因是在于我们已经基本上确定了整个系统的需求, 可... 阅读全文

C#中使用位运算来实现权限管理

2009-06-17 20:46 by xiaosonl, 2257 阅读, 1 推荐, 收藏, 编辑
摘要:常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在设计权限时, 我们可以把权限操作转换为位运算来处理. 第一步, 先建立一个枚举表示所有的权限操作: [Flags]public enum Permissions{ Insert = 1, Delete = 2, Update = 4, Query = 8}[Fl... 阅读全文

Silverlight中JavaSciprt无法访问托管类抽象成员的解决方法

2009-06-15 22:31 by xiaosonl, 224 阅读, 0 推荐, 收藏, 编辑
摘要:假设Silverlight中存在这样的两个类, 并且注册为可以被JS调用 [ScriptableType] public abstract class People { public People() { } public abstract string Name { get; set; } } [ScriptableType] public class Men : People { public... 阅读全文