随笔分类 -  设计模式

摘要:一、定义 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 二、实现 观察者模式使用三个类 Subject、Observer 和 Client。Subject 对象带有绑定观察者到 Clie 阅读全文
posted @ 2019-03-08 16:37 林木声 阅读(155) 评论(0) 推荐(0)
摘要:一、定义 一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 二、实现 阅读全文
posted @ 2019-03-08 16:29 林木声 阅读(110) 评论(0) 推荐(0)
摘要:一、定义 动态的给对象添加一些额外的属性或行为。相比于使用继承,装饰者模式更加灵活。 Component:装饰者和被装饰者共同的父类,是一个接口或者抽象类,用来定义基本行为 ConcreteComponent:定义具体对象,即被装饰者 Decorator:抽象装饰者,继承自Component,从外类 阅读全文
posted @ 2019-03-08 16:14 林木声 阅读(137) 评论(0) 推荐(0)
摘要:一、定义 适配器模式,即定义一个包装类,用于包装不兼容接口的对象。 包装类=适配器 被包装的类=被适配的类 二、解决的问题 原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 三、模式原理 3.1 类适配器模式 类的适配器模式是把适配的类的API转换成为目标类的API。 在上图中可以看出: 冲 阅读全文
posted @ 2019-03-08 16:01 林木声 阅读(144) 评论(0) 推荐(0)
摘要:一、定义 简单工厂模式,又被称为静态工厂方法模式。在简单工厂模式中,可以根据参数的不同,返回不同类的实例。 二、模式组成 1、抽象产品 2、具体产品 3、工厂 三、适用的场景 其实由定义也大概能推测出其使用场景,首先由于只有一个工厂类,所以工厂类中创建的对象不能太多,否则工厂类的业务逻辑就太复杂了, 阅读全文
posted @ 2019-03-08 15:25 林木声 阅读(190) 评论(0) 推荐(0)
摘要:什么是解释器模式?? 举个例子 假设现在有一个业务需求如下: 输入一个模式公式(加减运算),然后输入模型中的参数,运算出结果。 设计要求: 1、公式可以运行时编辑,并且符合正常的算术书写方式。 2、高扩展性 抽象表达式类 变量解释器类 抽象运算符号解释器类 加法解释器类 减法解释器类 解释器封装类 阅读全文
posted @ 2019-01-08 14:01 林木声 阅读(180) 评论(0) 推荐(0)