随笔分类 - 设计模式
摘要:1.什么是责任链模式 责任链模式(Chain of Responsibility Pattern) 又称职责链模式 为请求创建了一个接收者对象的链。对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 责任链(Chain of Responsibility)模式的定义:为了避免请求发送
阅读全文
摘要:1.什么是观察者模式 观察者模式(Observer Pattern)又称为发布/订阅模式, 属于行为型模式。 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 自己理解 一个事情随着另一件事情发生变化 , 两个事情存在内在联系 ,一个是观察者
阅读全文
摘要:1.什么是策略模式 策略模式(Strategy Pattern)也叫做政策模式(Policy Pattern)这种类型的设计模式属于行为型模式定义一组 算法,将每个算法都封装起来,并且使它们之间可以互换。 自己的理解 做事情 不同情况的处理 引入<<设计模式之禅>>中的例子 刘备江东娶妻 赵云使用诸
阅读全文
摘要:1.什么是模板方法模式 模板模式(Template Pattern)这种类型的设计模式属于行为型模式。 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 自己的理解 父类定义一套模板 子类实现时候套模板直接使用 2.为什么
阅读全文
摘要:什么是单例模式(Singleton) 设计模式的一种 一个类只有一个实例对象 单例模式的特点1、只能有一个实例。2、必须自己创建自己的唯一实例。3、必须给所有其他对象提供这一实例。 为什么要使用单例模式 有些类频繁创建和销毁消耗资源, 可以完全复用,比如IO处理,数据库操作,全局用一个类就好了. 所
阅读全文
摘要:代理模式 包括 静态代理:是在java文件编译前,手动写好代理类并绑定了代理关系, 所以只能代理绑定的类或接口。 动态代理:是通过反射原理,在程序运行的时候动态的生成的代理对象,所以可以代理任意的类或对象。 代理模式作用 为目标对象提供一个代理对象,并由代理对象控制对目标对象的调用 类似于中介 静态
阅读全文
摘要:工厂模式是一个大的家族 包括以下三种 简单工厂模式 一个工厂负责所有产品 工厂方法模式 一个具体工厂负责具体产品 抽象工厂模式 工厂模式作用:将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关心创建对象过程中的逻辑 简单工厂模式又称为静态工厂方法模式 1.问题 service实现类
阅读全文
摘要:合成复用原则基本介绍原则是尽量使用合成/聚合的方式,而不是使用继承 推荐以下方式 方法的参数 形成依赖关系 属性 + 方法参数 形成聚合关系 构造 形成组合关系
阅读全文
摘要:迪米特法则基本介绍1) 一个对象应该对其他对象保持最少的了解2) 类与类关系越密切,耦合度越大3) 迪米特法则(Demeter Principle)又叫 最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public
阅读全文
摘要:开闭原则基本介绍1) 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则2) 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。3) 当软件需要变化时,尽量 通过扩展软件实体的行为来实现变化,而 不是通
阅读全文
摘要:里氏替换原则 解决类继承(对象)代码耦合性问题 继承关系中 父类修改 会影响子类 基本介绍1) 里氏替换原则(Liskov Substitution Principle)在1988年,由麻省理工学院的以为姓里的女士提出的。2) 如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义
阅读全文
摘要:依赖关系传递的三种方式1) 接口传递2) 构造方法传递3) setter方式传递 公共的接口 和 实现类 /** * 公共的电视接口 */ interface ITV { public void play(); } /** * 公共的电视实现类 */ class ChangHong implemen
阅读全文
摘要:依赖倒转原则 1) 高层模块不应该依赖低层模块,二者都应该依赖其抽象2) 抽象不应该依赖细节,细节应该依赖抽象3) 依赖倒转(倒置)的中心思想是面向接口编程4) 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在jav
阅读全文
摘要:接口隔离原则 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上场景 接口Interface1 有5个方法 B 实现接口Interface1 的所有方法 D 实现接口Interface1 的所有方法 需求 类A 通过接口 Interface1 依赖 (使用) B类 只会用
阅读全文
摘要:单一职责原则 即一个类应该只负责一项职责 单 一职责原 则 注意事项和细节1) 降低类的复杂度,一个类只负责一项职责。2) 提高类的可读性,可维护性3) 降低变更引起的风险4) 通常情况下, 我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方
阅读全文
摘要:1.什么是设计模式 反复出现的问题的解决方案 2.设计模式的七大原则 1) 单一职责原则2) 接口隔离原则3) 依赖倒转(倒置)原则4) 里氏替换原则5) 开闭原则6) 迪米特法则7) 合成复用原 3.设计模式的目的 1) 代码重用性 (即:相同功能的代码,不用多次编写)2) 可读性 (即:编程规范
阅读全文