读后感:Martin Fowler
20年前的书,OO和领域的思想对于今天的我们来说很基础,但在那时应该算是萌芽。Smalltalk语言简单,语法中省略空格可能因为那时的硬件设备昂贵,而不得不做出的选择,但是可读性真的很差,而书中基本是用Smalltalk进行示例。翻开这本书是为了查找财务模型,它没...
分类:
其他好文 时间:
2014-06-29 13:38:46
阅读次数:
306
Martin A. Zinkevich 等人(Yahoo!Lab)合作的论文 Parallelized Stochastic Gradient Descent 中给出了一种适合于 MapReduce 的并行随机梯度下降法,并给出了相应的收敛性分析。这里忽略理论部分,根据自己的理解给出文中所提并行随机...
分类:
其他好文 时间:
2014-06-25 22:06:05
阅读次数:
417
Martin A. Zinkevich 等人(Yahoo!Lab)合作的论文 Parallelized Stochastic Gradient Descent 中给出了一种适合于 MapReduce 的并行随机梯度下降法,并给出了相应的收敛性分析。这里忽略理论部分,根据自己的理解给出文中所提并行随机梯度下降法的描述。...
分类:
其他好文 时间:
2014-06-24 22:53:45
阅读次数:
261
《重构-改善既有代码的设计》Martin Fowler 摘要: 第九章 简化条件表达式
Decompose Conditinal 分解条件表达式
你有一个复杂的条件(if-then-else)语句
从三个段落中分别提炼出独立函数
Consolidate Conditional Expression 合并条件表达式
你有一系列条件测试,都得到相同结果
将这...
分类:
其他好文 时间:
2014-06-20 13:03:15
阅读次数:
212
《重构-改善既有代码的设计》Martin Fowler 摘要: 第八章 重新组织数据
Self Encapsulate Field 自封装字段
你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。
为这个字段建立取值/设置函数,并且只以这些函数来访问字段。
子类用超类数据时
Replace Data Value with Object 以对象取代数据值
...
分类:
其他好文 时间:
2014-06-20 12:42:22
阅读次数:
280
DIP,dependency inversion principle,中文翻译为“依赖倒置原则”。 DIP是大名鼎鼎的Martin大师提出来的,他在1996 5月的C++ Reporter发表“ The Dependency Inversion Principle”的文章详细阐述了DIP原则,并且在他的经典著作《 Agile Software Development, Principles, Pa...
分类:
其他好文 时间:
2014-06-15 15:33:53
阅读次数:
277
《重构-改善既有代码的设计》Martin Fowler 摘要: 第十章 简化函数调用
Rename Method 函数改名
改一个自表达的名字吧!骚年
Add Parameter 添加参数
某个函数需要从调用端得到更多信息。
为此函数添加一个对象参数,让该对象代价函数所需信息。并发编程大多数参数很长,不放在一个类中,因为这样你可以保证传递给函数的参数都是不可修...
分类:
其他好文 时间:
2014-06-10 15:24:00
阅读次数:
210
《重构-改善既有代码的设计》Martin Fowler 摘要:
第十一章 处理概括关系
有一批重构手法专门处理类的概括关系(generalization , 即继承关系)
Pull Up Field 字段上移
两个子类有相同字段 --》 移到超类
观察函数如何使用它们,使用的方式很相似,考虑归纳到超类
Pull Up Method 函数上移
有些函数...
分类:
其他好文 时间:
2014-06-10 11:10:10
阅读次数:
171
《重构-改善既有代码的设计》Martin Fowler 摘要: 第七章 在对象之间搬移特性
Move Method 搬移函数
你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用后者,或被后者调用
在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或者将旧函数完全移除。
Move Field 搬移字段
某个字段被其所驻类之外...
分类:
其他好文 时间:
2014-06-07 15:18:01
阅读次数:
171
ISP,Interface Segregation Principle,中文翻译为“接口隔离原则”。和DIP原则一样,ISP原则也是大名鼎鼎的Martin大师提出来的,他在1996年的C++ Reporter发表“ The Interface Segregation Principle”的文章详细阐述了ISP原则,并且在他的经典著作《 Agile Software Development, Pri...
分类:
其他好文 时间:
2014-06-03 00:57:45
阅读次数:
250