• 重构 读书笔记


    #读书笔记# Encapsulate Collection(封装群集)关键是分别建一个add和remove群集元素的函数,并将get封装为readonly。否则,使用群集的客户端偷偷改变了元素,群集拥有者却一无所悉。C#中可用类ReadOnlyCollection或方法AsReadOnly()实现。http://stackoverflow.com/questions/1710902/unmodifiable-lists-in-c

     

    #读书笔记#assertion(断言)的价值在于:帮助程序员理解代码正确运行的必要条件。 
    #读书笔记#我们常常会写下这样的判断“if (customer == null) xxxx”,当中的判断条件可能会在多处重复出现,这时我们可以运用Introduce Null Object(引入null对象)新建一个Null Customer类继承原Customer类,并将判断条件集中在获取Customer的地方,结合多态就能去掉那些相同的判断条件。详见P260。

     

    #读书笔记#Remove Control Flag(移除控制标记)是Fowler大师反对“单一出口”原则的经典阐述。他认为该原则会让你的代码中加入讨厌的控制标记,大大降低条件表达式的可读性。他建议“以break语句、continue语句、或return语句取代控制标记”。

     

    #读书笔记#终于看到向往已久的Introduce Parameter Object(引入参数对象),当某些参数总是很自然地同时出现时,“以一个对象取代这些参数”。当你把这些参数组织到一起之后,往往很快可以发现一些“可被移至新建Class”的行为,P295。

     

    #读书笔记#代码的可理解性应该是我们虔诚追求的目标。
    #读书笔记#如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常被称为“卫语句(guard clauses)”。Replace Nested Conditional with Guard Clauses的精髓就是:给某一分支以特别的重视。如果使用if-then-else结构,你对if分支和else分支的重视是同等的。

     

    #读书笔记# MVC模式的最核心价值在于:它将用户界面代码(即所谓view,视图;亦即现今常说的presentation,表述)和领域逻辑(即所谓model,模型)分离了。presentation class只含用以处理用户界面的逻辑;domain class不含任何与程序外观相关的代码,只含业务逻辑(business logic)相关代码。

     

    #好书推荐#《重构》福勒 (Martin Fowler) 侯捷、 熊节译。下载地址:http://ishare.iask.sina.com.cn/f/5597581.html  #读后感#几十种行之有效的重构方法介绍与演练,贴近实际,确如序言所说,看完这本书,其中的思想应该成为你血液中的一份子,而设计模式应该成为你桌上随时查阅的工具书。

     

     

  • 相关阅读:
    Android 设计一个可以移动的小球,当小球被拖到一个小矩形块中时退出程序
    Android canvas+paint绘制一个可以指定位置移动的小球(含触屏响应)
    Android ImageView 实现图片触屏左右、上下以及按钮切换图片
    Android Mediaplay 音乐播放器(项目中的音乐)
    第二章课后习题 Q3
    第二章课后练习 Q2、4
    第二章课后练习 Q1
    算法学习-----01背包问题
    C#设计模式--迭代器模式(学习Learning hard设计模式笔记)
    C#设计模式--命令模式(学习Learning hard C#设计模式笔记)
  • 原文地址:https://www.cnblogs.com/MikeYao/p/2186377.html
Copyright © 2020-2023  润新知