摘要: 介绍 意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。 主要解决:对于一些固定文法构建一个解释句子的解释器。 何时使用:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释 阅读全文
posted @ 2020-11-27 17:23 fangyanr 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 介绍 外观模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 真实世界类比 电话购物。 当你通过电话给商店下达订单时, 接线员就是该商店的所有服务和部门的外观。 接线员为你提供了 阅读全文
posted @ 2020-11-27 16:16 fangyanr 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 介绍 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实 阅读全文
posted @ 2020-11-27 15:27 fangyanr 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 介绍 建造者模式(又叫生成器模式)是一种创建型设计模式, 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的好处就是使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。 应用实例 阅读全文
posted @ 2020-11-27 15:17 fangyanr 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 介绍 享元模式是一种结构型设计模式, 它摒弃了在每个对象中保存所有数据的方式, 通过共享多个对象所共有的相同状态, 让你能在有限的内存容量中载入更多对象。 主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。 阅读全文
posted @ 2020-11-27 14:12 fangyanr 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 介绍 模板方法模式是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法来处理。 模板方法模式是通过把不变行为搬移到超类,去除 阅读全文
posted @ 2020-11-27 09:49 fangyanr 阅读(91) 评论(0) 推荐(0) 编辑