博客专栏  >  架构   >  经典设计模式总结

经典设计模式总结

对于常见的设计模式总结。

关注
0 已关注
22篇博文
  • 组合模式

    1.使用场景: 部分和整体之前通过树状结构进行显示,调用者需要达到可以使用统一的方式处理部分对象以及整体对象的目的。 2.UML表示 组合模式主要包括下面的几个角色: 2.1抽象构件:定义叶子...

    2018-02-19 16:36
    97
  • 享元模式

    1.使用场景: 内存资源比较稀缺,不要随便浪费,如果有很多相同或者类似的对象,通过使用享元模式的方法,节省内存,例如线程池以及String类等。 2.UML表示 在享元模式中通常用以下的几类对象...

    2018-02-19 16:40
    127
  • 备忘录模式

    1.使用场景: 一系列的操作之后恢复原来的状态。实际的使用场景有事务的回滚操作等。 2.UML表示 在备忘录模式中有以下的几种对象: 2.1源发器:Originator 2.2备忘录类:Me...

    2018-02-18 16:13
    90
  • 桥接模式

    1.使用场景:分离两个变化的维度,通过组合的方式来减少系统中臃肿繁琐的代码,例如JDBC中的驱动程序。2.UML表示:2.1 实现(Implementor):定义具体行为,具体特征的应用接口。2.2 ...

    2018-02-19 16:28
    70
  • 策略模式

    1.使用场景: 我们需要根据不同的需求给出不同的解决方案,如果使用条件判断,这时候如果有新增的类型就会破坏开放封闭原则,这时候就需要使用策略模式。常用的使用场景有Spring框架中的Resource...

    2018-02-18 16:18
    72
  • 责任链模式

    1.使用场景: Tomcat中的过滤器链,springmvc中的拦截器链等等。 2.UML表示 在责任链模式中通常用以下的几类对象: Handler:定义出一个处理请求的接口。如果需要,接口可...

    2018-02-18 16:23
    60
  • 状态模式

    1.使用场景: 常见的应用场景有线程对象各个状态之间的切换或者各种账号状态的管理等 2.UML表示 状态模式中主要有以下的几大角色: 2.1Context:环境类 环境类中维护一个State...

    2018-02-18 16:26
    53
  • 访问者模式

    1.使用场景: 在一个集合中有一些不同的子类对象,需要分别对这些子类对象做处理。常常应用于XML文档的解析、编辑器的解析等。 2.UML表示: 2.1 Visitor(抽象访问者):抽象访问者为...

    2018-02-18 16:32
    55
  • 解释器模式

    1.使用场景: 这个设计模式一般用来解释语句中的句子,实际开发中EL表达式或者正则表达式的解释器就是采用这种设计模式等。 2.UML表示 Expression:抽象表达式,用来表明所有具体表达式...

    2018-02-18 16:38
    81
  • 适配器模式

    1.使用场景: 由于接口不兼容,需要通过“适配器”来进行协调工作。 2.UML表示 适配器模式中总共有3种角色: 2.1目标接口 客户期待的接口。目标可以是具体的或抽象的类,也可以是接口。 ...

    2018-02-18 16:43
    97
  • 装饰模式

    1.使用场景: 在已有的功能上边需要动态的添加新的功能。 2.UML表示 在装饰器模式中通常用以下的几类对象: 抽象构件角色(Project):给出一个接口,以规范准备接收附加责任的对象 具...

    2018-02-18 16:47
    54
  • 代理模式

    1.使用场景: 需要为其他的对象提供一种代理,来控制该对象的访问。Spring中的AOP技术就使用了代理模式。 2.UML表示 代理模式种有以下的几种对象: 2.1.抽象角色 包含有代理角色...

    2018-02-18 16:54
    82
  • 外观模式

    1.使用场景: 为子系统提供一个统一的入口。封装子系统的复杂性,便于客户调用,常用于一些工具类的封装。 2.UML表示 外观模式包含如下两个角色: (1) Facade(外观角色):在客户端可...

    2018-02-18 17:01
    56
  • 单例模式

    1.使用场景: 单例模式的作用主要是保证一个类只有一个实例,并且提供一个访问这个实例的全局访问点,通常在以下的场景中使用: 1.读取配置文件 2.设计数据库连接池等等 2.UML表示 ...

    2018-02-17 16:02
    52
  • 工厂模式(包含3种工厂)

    1.使用场景: 1.类不知道自己要创建哪一个对象 2.类用它的子类来指定创建哪个对象 3.客户需要清楚创建了哪一个对象 2.三种不同工厂的区别 简单工厂:针对一种产品。缺点是破坏了开放,封闭...

    2018-02-17 16:20
    135
  • 建造者模式

    1.使用场景: 1.对象的建造非常复杂,需要很多的步骤处理。 2.构建过程的每一步都不是必须要执行的,但是建造出来的还是”同一个东西”,只是出来的产品有一些属性会稍微”弱”一些。 2.UML表示 在建...

    2018-02-17 16:25
    67
  • 原型模式

    1.使用场景: 1.1.对象类型只有在运行期才能够确定。 1.2.克隆一直对象的副本。 1.3.大同小异的一些对象。 2.UML表示 在原型模式中通常用以下的几类对象: Client角色:...

    2018-02-17 16:31
    71
  • 模板方法模式

    1.使用场景: 当实现一个算法的时候,这个算法的整体步骤是固定的,但是某一些算法可能会进行更改。易变的部分我们可以抽取出来,供子类实现。比较常见的应用有Junit单元测试Spring中的JDBCTe...

    2018-02-17 16:35
    62
  • 命令模式

    1.使用场景: 所谓命令模式就是将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。在数据库的事务处理部分就使用了命令模式。 ...

    2018-02-17 16:38
    79
  • 迭代器模式

    1.使用场景: 1.1访问一个聚合对象的内容而无需暴露它的内部表示 1.2支持对聚合对象的多种遍历 1.3为遍历不同的聚合结构提供一个统一的接口 其实就是为方便遍历数据服务,像JDK的内置迭代...

    2018-02-17 16:42
    89
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部