
Java设计模式
文章平均质量分 89
SpiritView
这个作者很懒,什么都没留下…
展开
-
Java设计模式——依赖倒转原则
一、什么是依赖倒转原则?依赖倒转原则讲的是,要依赖于抽象,不要依赖于具体。实现“开-闭”原则的关键是抽象化,并且从抽象化导出具体化实现。“开-闭”原则是面向对象设计的目标,依赖倒转原则是面向对象设计的主要机制。依赖倒转原则的另一种表述,要针对接口编程,不要针对实现编程。针对接口编程是说,应该使用Java接口或Java抽象类进行变量的类型声明、参量的类型声明、方法的返回类型声明,以及原创 2015-04-11 21:51:38 · 1924 阅读 · 1 评论 -
Java设计模式——迪米特法则
迪米特法则又叫作最少知识原则,就是说,一个对象应当对其他对象要有尽可能少的了解。一、狭义的迪米特法则如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的某一个方法时,可以通过第三者转发这个调用。1.朋友圈与陌生人如下图所示,“某人”与一个“朋友”组成自己的朋友圈,两个人都需要与一个圈外的“陌生人”发生相互作用。“朋友原创 2015-04-19 10:38:56 · 1037 阅读 · 0 评论 -
Java设计模式——合成/聚合复用原则
一、什么是合成/聚合复用原则?合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。简述为:要尽量使用合成/聚合,尽量不要使用继承。二、合成和聚合的区别;依赖和关联合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。用C语言来讲,合成是值的聚合(A原创 2015-04-12 10:06:25 · 20251 阅读 · 7 评论 -
Java设计模式——接口隔离原则
接口隔离原则讲的是,使用多个专门的接口比使用单一的总接口要好。换言之,从一个客户类的角度来讲,一个类对另外一个类的依赖性应当是建立在最小的接口上的。一、什么是接口隔离原则?“接口”有两种含义。一种是Java语言中的有严格定义的Interface结构,比如java.lang.Runnale就是一个Java接口;另外一种就是一个类所具有的方法特征的集合,也称作“接口”,但是只是一种逻辑上的抽象原创 2015-04-19 17:30:31 · 3321 阅读 · 0 评论 -
Java设计模式——模式与软件设计
一、模式是什么 人们在自己的环境中不断发现问题和寻找问题的解决方案的时候,发现有一些问题及其解决方案不断变化面孔重复出现,但在这些不同的面孔后面有着共同的本质,这些共同的本质就是模式。模式化的过程是把问题抽象化,在忽略掉不重要的细节后,发现问题的一般性本质,并找到普遍适用的解决问题的过程。二、软件的可维护性和可复用性1.二者的关系通常认为,一个易于维护的系统,就是复用率较高的原创 2015-04-05 16:10:10 · 767 阅读 · 0 评论 -
Java设计模式——里氏代换原则
什么是里氏代换原则?一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别。比如,假设有两个类,一个是Base类,另一个是Derived类,并且Derived类是Base类的子类。那么一个方法如果可以接受基类对象Base的话:method(Base b),那么它必然可以接受一个子类对象d,也即method(d)。里氏代换原则是继承复用的原创 2015-04-08 20:53:31 · 2991 阅读 · 0 评论 -
Java设计模式——适配器模式
适配器模式是结构模式,包括类的结构模式和对象结构模式两种。适配器模式把一个类(系统中已有的类)的接口变成客户端所期待的另一种接口(需求,新的行为增强功能),从而使原本因为接口不匹配而无法再一起工作的两个类能够在一起工作。实质上是把已有的一些类应用适配器模式的结构进行包装(Wrapper),来满足需要的接口 (新的需求),达到软件复用和扩展的目的。一、类的适配器模式的结构类图与角色原创 2015-05-09 14:17:22 · 517 阅读 · 0 评论 -
Java对观察者模式的支持——Observer和ObServable的使用
在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。1. 实现观察者模式实现观察者模式非常简单,[1]创建被观察者类,它继承自java.util.Observable类;[2]创建观察者类,它实现java.util.Observer接口;[3]对于被观察者类,添加它的观察者:转载 2015-04-28 08:57:38 · 644 阅读 · 0 评论