• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Cheng--Li

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2014年4月17日

设计模式—控制反转(Ioc)
摘要: 本篇目录:压水井自来水厂压水井的问题-依赖压水井的问题解决-依赖倒置自来水厂-Ioc自来水厂运行-DI后记 好长时间没有更新设计模式系列了,不是不想写,奈何小菜功力有限,这段时间也在给自己充电,毕竟路要一步一步走,急不得。 控制反转(Inversion of Control)是解决程序耦合问题的... 阅读全文
posted @ 2014-04-17 16:40 福州软件定制 阅读(1448) 评论(1) 推荐(2)
 
改善代码设计 — 处理概括关系(Dealing with Generalization)
摘要: 1. Pull Up Field (提升值域) 解释: 如果发现每个子类都拥有相同的某个值域, 那么使用 Pull Up Field 将这个值域提升到父类中去. 冲动前: 冲动后: 2. Pull Up Method (提升函数) 解释: 如果每个子类都有相同的某个函数, 这个函数做同样的... 阅读全文
posted @ 2014-04-17 16:30 福州软件定制 阅读(139) 评论(0) 推荐(0)
 
改善代码设计 — 简化函数调用(Making Method Calls Simpler)
摘要: 1. Parameterize Method (令函数携带参数) 解释: "令函数携带参数" 并不是简单的让你在函数里加上参数, 如果函数里需要某个参数, 我们谁都会加上它. 你可能发现这样的几个函数: 它们做着类似的事情, 只是因为极少的几个值导致函数的策略不同, 这时可以使用 Paramet... 阅读全文
posted @ 2014-04-17 16:27 福州软件定制 阅读(155) 评论(0) 推荐(0)
 
改善代码设计 — 组织好你的数据(Composing Data)
摘要: 1. Self Encapsulate Field (自封装值域) 解释: 大部分类 (class) 中都会有一些值域 (field), 随之还会有一些方法使用到了这些值域. "如果调用这些值域"这个问题分为两种观点: 1. 应该直接调用它们 2. 应该通过访问函数调用它们. 我觉得大部分情况下... 阅读全文
posted @ 2014-04-17 16:24 福州软件定制 阅读(154) 评论(0) 推荐(0)
 
改善代码设计 — 优化物件之间的特性(Moving Features Between Objects)
摘要: 1. Move Method (函数搬家) 解释: 如果 ClassA 的某个函数对ClassB 有过多的依赖, 可以考虑将这个函数搬到 ClassB 中, 在 ClassA 的这个函数中直接调用 ClassB中这个函数的返回值. 这样做的好处是减少物件与物件之间的耦合度, 很多情况下这样做更利于... 阅读全文
posted @ 2014-04-17 16:12 福州软件定制 阅读(121) 评论(0) 推荐(0)
 
改善代码设计 — 优化函数的构成(Composing Methods)
摘要: 1. Extract Method (提炼函数) 解释: 如果发现一个函数的代码很长, 很可能的一种情况是这个函数做了很多事情, 找找看函数中有没有注释, 往往注释都是为了解释下面一块代码做的什么事情, 可以考虑将这块代码提炼(Extract)成一个独立的函数. 这样做的好处不言而喻, 是面向对... 阅读全文
posted @ 2014-04-17 15:51 福州软件定制 阅读(166) 评论(0) 推荐(0)
 
改善代码设计 — 简化条件表达式(Simplifying Conditional Expressions)
摘要: 1. Decompose Conditional (分解条件式) 解释: "复杂的条件逻辑" 是导致复杂性上升最常见的地方, "条件表达式中堆积的计算过程", "条件式表达得不简洁"等等都是造成复杂的原因. Decompose Conditional 用于将这些复杂的元素从条件表达式中分离出去, ... 阅读全文
posted @ 2014-04-17 15:45 福州软件定制 阅读(203) 评论(0) 推荐(0)
 
[C#] 泛型委派 Action<T> 與 Func<T>
摘要: 有時逛別人的 Blog 時,會看到泛型委派的語法,雖然知道,但始終沒有去測試與看文件。前陣子有幸可以使用到這類的語法,今天特來筆記一下。其中Action在 .net framework 2.0 才有的功能,是個沒有回傳值得委派後來 在 .net framework 3.5 陸續推出了Action、A... 阅读全文
posted @ 2014-04-17 15:02 福州软件定制 阅读(159) 评论(0) 推荐(0)
 
C# 4.0四大新特性代码示例与解读
摘要: 之前的文章中,我们曾介绍过C#的历史及C#4.0新增特性,包括:dynamic、 命名和可选参数、动态导入以及协变和逆变等。今天我们结合代码实例来具体看一下C#4.0中的四个比较重要的特性。 1.dynamic ExpandoObject 熟悉js的朋友都知道js可以这么写 :var t=new... 阅读全文
posted @ 2014-04-17 14:58 福州软件定制 阅读(159) 评论(0) 推荐(0)