java设计模式-期末整理

java设计模式-期末整理

ID:44781447

大小:141.00 KB

页数:17页

时间:2019-10-28

java设计模式-期末整理_第1页
java设计模式-期末整理_第2页
java设计模式-期末整理_第3页
java设计模式-期末整理_第4页
java设计模式-期末整理_第5页
资源描述:

《java设计模式-期末整理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用第四章命令模式命令模式:将一个请求封装为一个对象,从而使用户可用不同得请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作(在命令模式中,当一个对象请求另外一个对象调用其方法时,不和被请求的对象直接打交道,而是把这种请求封装到一个称为“命令”的对象中,其封装手段是将“请求”封装在一个命令对象的一个方法中,命令模式的核心就是使用命令对象来方法调用。)命令模式的四个角色:接收者(Receiver):接收者是一个类的实例,负责执行与请求相关的操作命令接口(Command):命令是一个接口,规定了用来封装

2、“请求”的若干个方法。如execute()、undo()。具体命令(ConcreteCommand):是实现命令接口的实例请求者(Invoke):是一个包含Command接口变量的类的实现《interface》Command+execute():voidInvokecommand:Command+executeCommand():voidReceiver文档实用command:Command+action():voidConcreteCommandReceiver:Receiver+execute():void单向关

3、联命令模式的优点:1:请求者不与接收者直接交互联系(即请求者不包含接收者的引用),他们之间无耦合关系2:满足开闭原则。如在增加新的具体命令和接收者时,不必修改请求者的代码,反之在增加新的请求者时,也不必修改具体命令和接收者的代码3:由于请求者的请求被封装到了具体命令中,这个命令在需要时可重复使用,使用命令模式可以记录日志4:使用命令模式可以是“请求”排队,因此可以按一定的顺序执行这些命令第五章观察者模式文档实用观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并自动更新。(

4、观察者模式是关于多个对象想知道一个对象中数据变化情况的一种成熟模式。观察者模式中有一个称为“主题”的对象和多个称作“观察者”的对象,“主题”和“观察者”间是一种一对多的依赖关系,当“主题”发生变化时,所有的“观察者”得到通知。)观察者模式中的四个角色:主题(Subject):主题是一个接口,该接口规定了具体主题需要实现的方法,如添加,删除观察者及通知观察者更新数据的方法。观察者(Observer):观察者是一个接口,该接口规定了具体观察者用来更新数据的方法具体主题(ConcreteSubject):是实现主题接口的一

5、个实例。具体观察者(ConcreteObserver):具体观察者是实现观察者接口的一个实例。《interface》Observer+update():void《interface》Subject+addObserver():void-deleteObserver():void+notifyObserver():voidConcreteSubject文档实用+addObserver():void-deleteObserver():void+notifyObserver():voidotherMethod();void

6、ConcreteObserversubject:Subject+update():void观察者模式的优点:1:具体主题和具体观察者是松耦合关系,由于主题接口仅仅依赖于观察者的接口,因此具体主题只知道她的观察者是实现观察者接口的某个类的实例,但不需要知道是具体的那个类2:满足开闭原则。第六章装饰模式装饰模式(包装器):动态的给对象添加一些额外的职责就功能来说装饰模式相比生成子类更为灵活(装饰模式是动态的扩展一个对象的功能,而不是改变原始类代码的一种成熟模式)装饰模式中的四个角色:1:抽象组件(Component):是

7、一个抽象类,定义了“被装饰者”需要进行的“装饰”方法文档实用2:具体组件(ConcreteComponent):具体组件是抽象组件的一个子类,具体组件的实例是“被装饰者”3:装饰(Decorator):装饰也是抽象组件的一个子类,但装饰还包含一个抽象组件声明的变量以保存“被装饰者”的引用,装饰者可以使一个抽象类,也可以是一个非抽象类。如果是非抽象类,那么该类的实例称作“装饰者”4:具体装饰(ConcreteDecorate):具体装饰是装饰的一个非抽象子类,具体装饰的实例称作“装饰者”Component+method

8、One():void+methodTwo():voidConcreteDecorateA+methodOne():void+methodTwo():void+otherMethod():voidConcreteComponent+methodOne():void文档实用+methodTwo():voidDecoatorcomponent:Com

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。