设计模式学习笔记(16)状态

本文实例代码:https://github.com/JamesZBL/java_design_patterns

状态模式(State)最明显的特点是可以使类的行为根据不同的状态变化而变化,很明显,这是一种行为型模式。通常用一个上下文对象将某个类的对象进行一层包裹,将该类在不同状态下的具体行为分别交给不同状态的上下文类来实现。该模式的完美的将类的行为和它的状态进行了解耦,如果某个类增添一种状态,只需要增加新的状态类就可以了。
继续阅读“设计模式学习笔记(16)状态”

设计模式学习笔记(15)观察者

本文实例代码:https://github.com/JamesZBL/java_design_patterns

观察者(Observer)模式实现了一种一对多的通信方式,它的核心是由多个对象监听中心对象,中心对象发生某种变化时将这个变化通知给关注它的周边对象,所以,它又被称为 “订阅-发送” 模式。

在现实生活中也有许多和观察者模式的运作方式相似的例子,比如当我们订阅某个公众号后,一旦该公众号的主人发不了新的文章或消息,所有订阅这个公众号的用户都会受到这个消息。这些用户就对应着观察者模式里的订阅者,公众号对应着发布者,一旦订阅者对关注点失去了兴趣,就会取消对发布者的订阅,也就不会再受到发布者的任何消息了。所以,实现观察者模式的主要方法就是订阅和发布。

继续阅读“设计模式学习笔记(15)观察者”

设计模式学习笔记(13)中介者

本文实例代码:https://github.com/JamesZBL/java_design_patterns

中介者(Mediator)模式是用来降低多个对象和类之间的通信复杂性的。这种模式中通常提供一个充当中介者角色的类,用来承担“中心化”或“集中化”的职能,与各个对象之间都可以分别相互通信,它的一大优势是减少或避免其他对象之间的互相通信,在通信方面降低了耦合度。
继续阅读“设计模式学习笔记(13)中介者”

设计模式学习笔记(11)解释器

本文实例代码:https://github.com/JamesZBL/java_design_patterns

解释器(Interpreter)模式提供了校验语言的语法或表达式的途径,它属于行为型模式的一种。这种模式通常会提供一个表达式接口,通过这个接口可以解释对应特定环境的上下文。

解释器模式在日常开发的过程中不是很常用,但它在 SQL 解析、符号处理引擎、编译程序等场景中使用非常广泛。
继续阅读“设计模式学习笔记(11)解释器”