读书笔记:java与模式
boyssheng
这个作者很懒,什么都没留下…
展开
-
第2章 统一建模语言UML简介(笔记)
对一个软件而言,UML具有以下[color=red]重要功能[/color]:可视化(Visualizing)功能,说明(Specifying)功能、建造(Constructing)功能和建文档(Documenting)功能。 UML包括以下的图: 1、使用案例图(Use case diagrams) 2、类图(Class diagrams) 3、序列图(Sequence diagrams...2011-02-20 20:09:59 · 100 阅读 · 0 评论 -
第10章 合成/聚合复用原则(CSRP 笔记)
[b]合成/聚合复用原则[/b] 就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 另一个更简短的表述:要尽量使用合成/聚合,尽量不要使用继承。 [b]合成和聚合的区别[/b] 合成和聚合均是关联的特殊种类。聚合用来表示“拥有”关系或者整体与部分的关系;而合成则用来表示一种强得多的“拥有”关系...2011-03-12 22:29:47 · 154 阅读 · 0 评论 -
第9章 接口隔离原则(ISP笔记)
[b]接口隔离原则(Interface Segregation Principle)讲的是:[/b]使用多个专门的接口比使用单一的总接口要好。 [b]角色的合理划分[/b] 将接口理解为一个类所提供的所有方法的特征集合,也就是一种在逻辑上才存在的概念。这样的话,接口的划分就直接带来类型的划分。 一个接口相当于剧本中的一种角色,而此角色在一个舞台上由哪一个演员来演则相当于接口的...2011-03-11 23:02:46 · 97 阅读 · 0 评论 -
第8章 依赖倒转原则(DIP笔记)
依赖倒转原则讲的是:要依赖于抽象,不要依赖于具体。 [img]http://dl.iteye.com/upload/attachment/431928/896d98a6-713c-36bd-9407-b58d166ebbaa.png[/img] 从复用的角度来看,高层次的模块是设计者应当服用的。但是在传统的过程性的设计中,复用却侧重于具体层次模块的复用,比如算法的复用、数据结构...2011-03-08 22:46:43 · 86 阅读 · 0 评论 -
第7章 里氏代换原则(LSP)
[b]里氏代换原则[/b] 如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得程序P的所有对象O1被替换成O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。 里氏替换原则是继承复用的基石。只有当衍生类可以替换掉基类,软件单位的功能不会受到影响时,基类才能真正的被复用,而衍生类也才能够在基类的基础上增加新的行为。 里氏代换原则讲的是基类与子类的关系。 在设计模式...2011-03-07 22:43:31 · 90 阅读 · 0 评论 -
第6章:java抽象类(笔记)
在java语言里,类有两种:一种是具体类,另一种是抽象类。具体类可以实例化,抽象类不可以实例化。 [b]抽象类的用途[/b] 具体类不是用来抽象的,只要有可能就不要从具体类继承。 [img]http://dl.iteye.com/upload/attachment/429162/4c0ec9ab-6ed8-3364-bac8-1c37002136c8.png[/...2011-03-03 23:11:21 · 70 阅读 · 0 评论 -
第5章 专题:java语言的接口(笔记)
[b]一个方法的特征[/b]仅包括方法的名字、参数的数目和种类,而不包括方法的返回类型、参量的名字以及所抛出的异常。 [b]接口和类的最重要区别[/b]是,接口仅仅描述方法的特性(Signature),而不给出方法的实现;而类不仅给出方法的特征,而且给出方法的实现。因此,接口把方法的特征和方法的实现分割开来。这种分割,体现在接口常常代表一个角色(role),它包括与该角色相关的操作和...2011-02-28 23:03:20 · 94 阅读 · 0 评论 -
第4章 “开-闭原则”(ocp) (笔记)
[b]开闭原则[/b]指的是一个软件实体应该对扩展开放,对修改关闭。 Software entities should be open for extension,but closed for modification. 满足“开-闭原则”的设计可以给软件体统2个无可比拟的优越性 1、通过扩展已有的软件系统,可以提供新的行为,以满足软件的新需求,是变化中的软件系统有一定的适应性和灵活性。 ...原创 2011-02-24 22:58:41 · 107 阅读 · 0 评论 -
第3章 软件的可维护性与可复用性(笔记)
[b]设计的目标[/b] 一个好的系统应该有如下性质:可扩展性(Extensibility)、灵活性(Flexibility)、可插入性(Pluggability)。 [b]设计原则有哪些[/b] 1、“开-闭”原则(Open-Closed Principle,OCP) 2、里氏代换原则(Liskov Substitution Principle,LSP) 3、依赖倒转原则(Depe...2011-02-24 22:50:23 · 247 阅读 · 0 评论 -
第11章 迪米特法则(LoD 笔记)
[b]迪米特法则[/b](Law of Demeter)又叫做最少知识原则(Least Knowledge Principle),就是说,一个对象应当对其他对象有尽可能少的了解。 [b]狭义的迪米特法则[/b] 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 [b]不满足迪米特法则的系统[/b...原创 2011-03-19 20:16:13 · 126 阅读 · 0 评论