会员
周边
捐助
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Cheng--Li
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
2014年4月17日
设计模式—控制反转(Ioc)
摘要: 本篇目录:压水井自来水厂压水井的问题-依赖压水井的问题解决-依赖倒置自来水厂-Ioc自来水厂运行-DI后记 好长时间没有更新设计模式系列了,不是不想写,奈何小菜功力有限,这段时间也在给自己充电,毕竟路要一步一步走,急不得。 控制反转(Inversion of Control)是解决程序耦合问题的...
阅读全文
posted @ 2014-04-17 16:40 福州软件定制
阅读(1437)
评论(1)
推荐(2)
编辑
改善代码设计 — 处理概括关系(Dealing with Generalization)
摘要: 1. Pull Up Field (提升值域) 解释: 如果发现每个子类都拥有相同的某个值域, 那么使用 Pull Up Field 将这个值域提升到父类中去. 冲动前: 冲动后: 2. Pull Up Method (提升函数) 解释: 如果每个子类都有相同的某个函数, 这个函数做同样的...
阅读全文
posted @ 2014-04-17 16:30 福州软件定制
阅读(130)
评论(0)
推荐(0)
编辑
改善代码设计 — 简化函数调用(Making Method Calls Simpler)
摘要: 1. Parameterize Method (令函数携带参数) 解释: "令函数携带参数" 并不是简单的让你在函数里加上参数, 如果函数里需要某个参数, 我们谁都会加上它. 你可能发现这样的几个函数: 它们做着类似的事情, 只是因为极少的几个值导致函数的策略不同, 这时可以使用 Paramet...
阅读全文
posted @ 2014-04-17 16:27 福州软件定制
阅读(141)
评论(0)
推荐(0)
编辑
改善代码设计 — 组织好你的数据(Composing Data)
摘要: 1. Self Encapsulate Field (自封装值域) 解释: 大部分类 (class) 中都会有一些值域 (field), 随之还会有一些方法使用到了这些值域. "如果调用这些值域"这个问题分为两种观点: 1. 应该直接调用它们 2. 应该通过访问函数调用它们. 我觉得大部分情况下...
阅读全文
posted @ 2014-04-17 16:24 福州软件定制
阅读(148)
评论(0)
推荐(0)
编辑
改善代码设计 — 优化物件之间的特性(Moving Features Between Objects)
摘要: 1. Move Method (函数搬家) 解释: 如果 ClassA 的某个函数对ClassB 有过多的依赖, 可以考虑将这个函数搬到 ClassB 中, 在 ClassA 的这个函数中直接调用 ClassB中这个函数的返回值. 这样做的好处是减少物件与物件之间的耦合度, 很多情况下这样做更利于...
阅读全文
posted @ 2014-04-17 16:12 福州软件定制
阅读(115)
评论(0)
推荐(0)
编辑
改善代码设计 — 优化函数的构成(Composing Methods)
摘要: 1. Extract Method (提炼函数) 解释: 如果发现一个函数的代码很长, 很可能的一种情况是这个函数做了很多事情, 找找看函数中有没有注释, 往往注释都是为了解释下面一块代码做的什么事情, 可以考虑将这块代码提炼(Extract)成一个独立的函数. 这样做的好处不言而喻, 是面向对...
阅读全文
posted @ 2014-04-17 15:51 福州软件定制
阅读(144)
评论(0)
推荐(0)
编辑
改善代码设计 — 简化条件表达式(Simplifying Conditional Expressions)
摘要: 1. Decompose Conditional (分解条件式) 解释: "复杂的条件逻辑" 是导致复杂性上升最常见的地方, "条件表达式中堆积的计算过程", "条件式表达得不简洁"等等都是造成复杂的原因. Decompose Conditional 用于将这些复杂的元素从条件表达式中分离出去, ...
阅读全文
posted @ 2014-04-17 15:45 福州软件定制
阅读(186)
评论(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 福州软件定制
阅读(150)
评论(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 福州软件定制
阅读(148)
评论(0)
推荐(0)
编辑