上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要: 备忘录模式,在不破坏对象封装的情况下,获取对象状态并将其保存下来。 比如游戏关卡的存档。 游戏状态类 通过saveStatefToMemento()方法存储状态 保存游戏状态的类 该类的属性时根据Originator 类的属性设置的, 通过该类保存游戏状态,可以保证原有类的封装性。 获取存储状态的类 阅读全文
posted @ 2019-06-12 17:15 gcmh 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 中介者模式主要解决多个对象和类之间的通信复杂度,主要通过一个中介类接受所有消息,然后再进行转发。 这样可以降低多个对象和类之间的通信复杂度,由原来的网状接口转变为星型结构。 网状结构 星型结构 图片来自: https://www.runoob.com/design-pattern/mediator- 阅读全文
posted @ 2019-06-11 11:30 gcmh 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式用于顺序访问集合对象的元素,而无需知道集合的底层表示,屏蔽了细节用一种更便携的方式访问集合对象。 定义一个获取迭代对象的接口 定义迭代对象方法 创建一个集合类时,需要在该集合类中添加一个内部类实现Iterator接口,用于判断是否有元素及获取元素。 集合类需要实现Container接口,提 阅读全文
posted @ 2019-06-10 14:52 gcmh 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 命令模式将请求以命令的形式包裹在对象中,然后传递给调用者,调用者寻找处理该命令的对象,并执行命令。 真正的命令执行对象 Stock Command接口 Command接口的实现者,用来执行具体的命令。 BuyStock SellStock 命令的请求者,是命令模式中最重要的角色。这个角色用来对各个命 阅读全文
posted @ 2019-06-10 14:31 gcmh 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 责任链模式为请求创建了一个接受者对象的链,使得请求者与接受者解耦, 而且请求者无需关心接受者的具体实现,只需将请求传递给接收者链即可。 下面举一个类加载的例子,类加载采用双亲委派机制,先将类给最上层的BootstrapClassLoader, 如果BootstrapClassLoader可以加载则进 阅读全文
posted @ 2019-06-06 08:48 gcmh 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 享元模式主要解决减少创建对象数量,减少内存占用,节约资源,提高性能。 享元模式先从已有对象中匹配,如果有则使用已有对象,没有才会创建新的对象, 这样可以实现对象的复用,减少不必要的创建。 基本思路:使用HashMap将对象存储起来,后续使用时在HashMap中寻找,如果有则使用已有对象, 如果没有则 阅读全文
posted @ 2019-06-02 12:46 gcmh 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式,主要向一个已有对象添加新的功能。 可以看做对原有对象进行装饰,使其功能更加丰富。 下面就画图举个例子。 Shape接口 Circle 测试 现在我们有了新的要求,画完图形的同时我们需要设置下颜色。 这时我们采用装饰器实现这个功能,在已有对象上添加新功能。 那么首先我们需要创建一个抽象的装 阅读全文
posted @ 2019-06-01 16:23 gcmh 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 桥接模式可以将抽象和实现分离开来,两者可以单独变化互不干扰。 两者之间通过一个桥梁连接,所以称为桥接模式。 下面举一个具体的例子,假设这里有一个抽象类Shape,还有一些实现类RedCircle,GreenCircle. 它们之间通过桥梁DrawAPI接口连接起来。 桥梁接口(桥接模式中的桥梁) 具 阅读全文
posted @ 2019-05-30 16:02 gcmh 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 适配器主要解决适配问题,即将一些由于接口不兼容不能一起工作的类可以在一起工作。 例如插座上是220v的电压,手机充电需要5v的电压,这时手机和插座直接就通过一个适配器(充电器)连接起来了。 例如一个音频播放器只能播放MP3格式的文件,我们通过一个适配器将其连接到高级播放器上, 当前音频播放器不支持的 阅读全文
posted @ 2019-05-29 11:09 gcmh 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 主要错误信息: dubbo:com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method... Caused by: com.alibaba.dubbo.remoting.RemotingException: message can 阅读全文
posted @ 2019-05-06 19:35 gcmh 阅读(207) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 14 下一页