摘要: 模式动机 对于系统中某些对象,它们存储在同一个集合中,且具有不同的类型。对于该集合中的对象,可以接受一类称为访问者的对象来访问,不同的访问者其访问方式有所不同 Java 提供了用于存储多个元素的集合对象,集合中存储的对象有时候是同一类型,有时候不是同一类型,或许它们只是具有共同的父类。假如我们要针对 阅读全文
posted @ 2020-06-18 15:36 低吟不作语 阅读(483) 评论(0) 推荐(1)
摘要: 概述 现实生活中很多事情的完成过程都包含几个基本步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单几个步骤,到底吃什么则具体情况具体分析 既然这几个步骤的次序是固定的,于是我们创建一个新的方法叫“请客”,在其中调用了点单、吃东西和买单,同时指定它们的执行次序,我们称这个“请客”为模板方法, 阅读全文
posted @ 2020-06-17 15:12 低吟不作语 阅读(475) 评论(0) 推荐(0)
摘要: 概述 要完成一项任务,可以有多种不同的方式,外出旅游时可以选择多种不同的出行方式,如自行车、坐汽车、坐高铁或乘飞机等,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成任务 在软件开发中,一项功能也有很多算法可以实现,如果我们直接把多种算法集中在一个类,或者说使用条件判断语句 阅读全文
posted @ 2020-06-12 08:59 低吟不作语 阅读(575) 评论(0) 推荐(0)
摘要: 概述 很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态。一个对象可以拥有多个状态,这些状态可以相互转换,当对象状态不同时,其行为也有所差异 假设一个人就是对象,人根据心情不同会有很多状态,比如开心和伤心,这两种状态可以相互转换。开心的人可能会因为突然的噩耗而伤心,过了一段 阅读全文
posted @ 2020-06-06 10:33 低吟不作语 阅读(780) 评论(0) 推荐(0)
摘要: 概述 在系统中,对象并不是孤立存在的,一个对象的改变可能会导致其他与之存在依赖关系的对象发生改变。观察者模式用于描述对象之间的依赖关系,一个对象发生改变会自动通知其他对象,其他对象将相应做出反应。发生改变的对象称为观察目标,被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且观察者之间没有相 阅读全文
posted @ 2020-06-01 17:07 低吟不作语 阅读(603) 评论(0) 推荐(0)
摘要: 概述 在软件使用过程中难免会出现一些误操作,如不小心删除了某些文字或图片,数据填入错误等,对于这些误操作,需要提供一种后悔机制,让系统可以回到误操作前的状态。备忘录模式提供了一种对象状态的撤销实现机制,当系统中某一对象需要恢复到某一历史状态时可以使用备忘录模式来进行设计 模式实例 某系统提供了用户信 阅读全文
posted @ 2020-05-28 11:39 低吟不作语 阅读(558) 评论(0) 推荐(0)
摘要: 概述 以微信聊天为例,可以用户与用户直接聊天,也可以通过微信群聊天。前者的话,用户要和别的用户加为好友,即用户和用户之间存在多对多关系,一个用户如果要将相同的信息发送给所有其他用户,必须一个一个发送。而如果使用群聊天,一个用户可以向多个用户发送相同信息而无须一一进行发送,只需将信息发送到群中即可,群 阅读全文
posted @ 2020-05-27 12:51 低吟不作语 阅读(689) 评论(0) 推荐(0)
摘要: 概述 一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问它的元素,而又不暴露它的内部结构。此外,针对不同的需要,可能还要以不同方式遍历整个聚合对象,但是我们不希望在聚合对象中充斥着各种不同遍历的操作。怎样遍历一个聚合对象,又不需要了解聚合对象的内部结构,还能 阅读全文
posted @ 2020-05-25 15:57 低吟不作语 阅读(582) 评论(0) 推荐(1)
摘要: 概述 如果在系统中某一特定类型的问题发生的频率很高,此时可以考虑将这些问题的实例表述为一个语言中的句子。再构建一个解释器,解释器通过解释这些句子来解决对应的问题。 举个例子,我们希望系统提供一个功能来支持一种新的加减法表达式语言,当输入表达式为 "1 + 2 + 3 - 4 + 1" 时,输出计算结 阅读全文
posted @ 2020-05-23 20:29 低吟不作语 阅读(523) 评论(0) 推荐(1)
摘要: 概述 举个现实生活中的例子,开关是请求的发送者,电灯是请求的接收者,它们之间不存在直接的耦合关系,而是通过电线连接到一起,开关不需要知道如何将开灯或关灯请求传输给电灯,而是通过电线来完成这项功能。 可以理解为电线充当封装请求的命令对象,开关如果开则电线通电,并调用电灯的开灯方法,反之则关灯。不同电线 阅读全文
posted @ 2020-05-18 17:08 低吟不作语 阅读(621) 评论(0) 推荐(1)