
设计模式
文章平均质量分 71
武培轩
这个作者很懒,什么都没留下…
展开
-
设计模式-观察者模式
模式定义 定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者。 设计原则 为交互对象之间的松耦合设计而努力:当两个对象之间松耦合,它们依然可以交互,但是不清楚彼此的细节。由于松耦合的两个对象之间互相依赖程度很低,因此系统具有弹性,能够应对变化。 UML类图 观察者...原创 2018-03-24 12:17:00 · 138 阅读 · 0 评论 -
设计模式-简单工厂模式
设计模式-简单工厂模式 模式定义 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式定义了一个创建对象的类,由这个类来封装实例化对象的行为。 设计原则 遵循的原则: 依赖倒置原则 迪米特法则 里氏替换原则 接口隔离原则 未遵循的原则 开闭原则 单一...原创 2018-03-25 17:59:00 · 158 阅读 · 0 评论 -
设计模式-工厂方法模式
设计模式-工厂方法模式 在简单工厂模式中,我们发现存在很多问题: 由于工厂类集中了所有产品创建逻辑,一旦不能正常工作,整个系统都要受到影响。 要新增产品类的时候,就要修改工厂类的代码,违反了开放封闭原则(对扩展的开放,对修改的关闭)。 简单工厂模式由于使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构。 为了解决上述的问题,我们学习一种...原创 2018-03-25 21:24:00 · 213 阅读 · 0 评论 -
设计模式-单例模式
模式定义 确保一个类最多只有一个实例,并提供一个全局访问点。 单例模式分为饿汉式和懒汉式。 懒汉式单例模式:在类加载时不初始化。 饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。 饿汉式-线程安全 /** * 饿汉式单例模式(线程安全) */ public class Singleton { //static单例变量 private...原创 2018-03-21 00:10:00 · 431 阅读 · 0 评论 -
设计模式-装饰者模式
模式定义 动态的将新功能附加到对象上,在对象功能扩展方面,它比继承更有弹性。 设计原则 多用组合,少用继承 类应设计的对扩展开放,对修改关闭。 UML类图 装饰者模式实例 先写一个被装饰者食物的类 被装饰者-食物类 package com.wpx.decorator; /** * 被装饰者-食物类 */ public class Food { privat...原创 2018-03-23 00:20:00 · 227 阅读 · 0 评论 -
设计模式-抽象工厂模式
设计模式-抽象工厂模式 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。我们可以想一下,有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象,即产品族。 这个时候我们就需要使用抽象工厂模式。 在讲解抽象工厂模式之前,我们需...原创 2018-03-29 13:10:00 · 241 阅读 · 0 评论 -
设计模式-代理模式
模式定义 给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用 为什么使用代理 在不改变目标对象方法的情况下对方法进行增强 代理模式实例 静态代理 先创建一个用户接口(UserInterface),声明一个方法 public interface UserInterface { void service(String s); } 创建实现类(UserImpl) publi...原创 2019-08-30 11:10:00 · 126 阅读 · 0 评论