TDD & Patterns Notes

看书看不下去,索性就把这段时间以来的学习笔记放一点上来。这里的全部都是理论上的东西,具体的实践近期是不大可能会有的,诶,理论是有点乏味,可还是要学。就像数学一样的。 TDD和模式的笔记,TDD的那本书看完了,不过没有深刻地看,等到暑假再说咯。模式现在还在看,这书太厚啦,一章章地看下来累得死一头牛。没办法,坚持,就是胜利。 数值对象的一个要求就是一旦它的实例变量值在构造方法中被指定,那么以后就再也不允许改变,所以数值对象的所有操作都必须返回一个新的对象,而且必须实现 equals() 和 hashCode() 方法。 当需要显式地判定是哪一种类型才能下一步工作时,都要使用多态来代替条件判断语句。这也是一条重构原则。 开闭原则 Open-Closed Principle OCP Software entities should be open for extension,but closed for modification. 软件实体应当对扩展开放,对修改关闭。 这里应该是这样的,如果扩展一个软件的功能,那么不应该改变既有代码,而是通过增加一些新的内容来达到目的。 里氏代换原则 任何基类可以出现的地方,子类一定可以出现。 子类源于基类,“青出于蓝而胜于蓝”。这个,我能这样解释吗???自己都感觉好像有问题似的。 依赖倒转原则 (一开始我还以为是翻转控制呢) 要依赖于抽象,不要依赖于实现。 Abstractions should not depend upon details. Details should depend upon abstractions. Program to an interface,not an implemention. 这个就是那个“针对接口编程”咯。 合成/聚合 复用原则 尽量使用合成/聚合,而不是继承关系来达到复用的目换。 继承是一种绑定,在 JAVA 里,只允许单继承,能够不继承的就一定不用继承来达到其它目的。 迪米特法则 一个软件实体应当与尽可能少的其它实体发生相互作用。 接口隔离原则 为客户端提供尽可能小的单独的接口,而不要提供大的总接口 迪米特法则与接口隔离原则是一个意思吧?? 接口 JAVA 接口:一种 JAVA 语言中存在的结构,有特定的语法和结构。 普通 接口:一个类所具有的方法的特征集合,一种逻辑上的抽象。 一个方法的特征仅包括方法的名字,参数的数目和类型,而不包括方法的返回类型,参数的名字以及所抛出的异常。 ?今天写的一个程序,子类继承了一抽象父类,一个抽象方法在父类中没有指出抛出异常,而我在子类中写了 throws 异常,结果没有通过编译。?? 在一个继承关系形成的等级结构里面,树叶节点均应当是具体类,而树枝结点均应当是抽象类/JAVA接口。也就是说不要去继承一个具体类。 抽象类应当拥有尽可能多的代码,同时拥有尽可能少的数据。 针对接口编程,针对抽象编程。

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...