摘要: 重新组织你的函数 在对象之间搬移特性 重新组织数据 简化条件表达式 简化函数调用 处理概括关系 提炼函数1 转化后: 提炼函数2:清除注释 转化后: 将临时变量内联化: 转化后: 以查询取代临时变量: 转化后: 引入解释性变量: 转化后: 剖解临时变量: 转化后: 移除对参数的赋值: 转化后: 提前退出函数: 转化后: Split Loop: 转化后: Split Loop-2 在对象之间搬移特... 阅读全文
posted @ 2010-04-02 18:01 Gang.Wang 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 重复的代码(Duplicated Code) 过长的函数(Long Method) 过大类(Large Class) 过长的参数列(Long Parameter List) 发散式变化(Divergent Change) 霰弹式修改(Shotgun Surgery) 依恋情结(Feature Envy) 数据泥团(Data Clumps) 基本型别偏执(Primitive Obsession) S... 阅读全文
posted @ 2010-04-02 15:37 Gang.Wang 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。 构造委托对象时,通常提供委托将包装的方法的名称或使用匿名方法。实例化委托后,委托将把对它进行的方法调用传递给方法。调用方传递给委托的参数被传递给方法,来自方法的返回值(如果有)由委托返回给调用方。这被称为调用委托。可以将一个实例化的... 阅读全文
posted @ 2010-04-02 00:18 Gang.Wang 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。您可以通过委托调用方法。委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。下面的示例演示了一个委托声明: 与委托的签名(由返回类型和参数组成)匹配的任何可访问类或结构中的任何方法都可以分配给该委托。方法可以是静态... 阅读全文
posted @ 2010-04-02 00:03 Gang.Wang 阅读(244) 评论(0) 推荐(0) 编辑