北京北大青鸟校区:Java行为模式讲解

Java设计模块共分为三个:创建型模式、结构型模式、行为模式。在前面的两篇文章中,北京北大青鸟校区老师给同学们介绍了创建型模式和结构型模式。今天我们将以通俗易懂的举例方式来介绍第三块模式也是最后一种:行为模式。

、行为模式
1、MEMENTO
举例:同时跟几个MM聊天时,一定要记清楚分别跟MM说了些什么话,不然MM发现了会不高兴,有个备忘录,刚才与哪个MM说了什么话都拷贝一份放到备忘录里面保存,这样可以随时察看以前的记录。

备忘录模式:备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。

2、STRATEGY
举例:跟不同类型的女孩约会,要用不同的方法。有的喜欢浪漫,那就去海边;有的喜欢娱乐,那就去看电影……目的都是为了得到芳心。

策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。

3、COMMAND

举例:和女朋友分隔两地,只能用书信联系。她有什么想说的话都写在信里让邮递员带给我。一天,邮递员又传送过来一个COMMAND,同时告诉我,女朋友还分别给她的家人、朋友送了COMMAND。(北京北大青鸟校区

命令模式:命令模式把一个请求或者操作封装到一个对象中。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。命令模式允许请求的一方和发送的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否执行,何时被执行以及是怎么被执行的。系统支持命令的撤消。

4、OBSERVER

举例:同学聚会不需要一个个的通知,让所有同学都加入一个邮件组,由班长负责发送聚会消息,其他同学作为订阅者(观察者)就可以及时收到消息啦。

观察者模式:观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。

至此,Java的三块模式都以讲解完,希望同学们能够通过通俗易懂的例子来消化这些知识。北京北大青鸟校区学术部提供。

北大青鸟网上报名
北大青鸟招生简章