1.1概述 在许多设计中,经常涉及多个对象都对一个特殊对象中的数据变化感兴趣,而且这多个对象都希望跟踪那个特殊对象中的数据变化,在这样的情况下就可以使用观察者模式。 …
标签:设计模式
观察者模式(Observer)
观察者模式 一. 观察者模式 1.1 定义 定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于他的对象都会得到通知,并自动更新. 1.2 角色 抽象观察者角色(IObserver). 抽象被观察者角色…
设计模式--链式流程处理
1.应用场景:流程审批,顺序链式处理,控制每个子模块执行处理的次数,控制子模块执行顺序。 2.应用: 通过对一个全链条中的全局变量,全局实例进行赋值修改变量,达到控制子模块是否执行,执行次数,决定下一个是否执行的作用。 …
抽象工厂模式(Abstract Factory)
抽象工厂模式 概念 抽象工厂模式是工厂模式的升级,用来创建一组相关或相互依赖的对象。 角色 1.抽象工厂角色 2.具体工厂角色 3.产品接口或抽象产品角色 4.具体产品角色 角色对应关系 1.多个具体工厂继承自抽象工厂;…
设计模式学习笔记-外观模式
1. 概述 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2. 模式中的角色 2.1 外观类(Facade):外观类知道哪些子系统类负责处理请求,将客户的…
Java设计模式面试题 01 - 六大原则
Java设计模式面试题 01 – 六大原则 1. 单一职责原则 Single Responsibility Principle SRP原则 分清职责,接口一定要做到单一职责,方法也要做到,类尽量做到 …
设计模式--策略模式C++实现
策略模式C++实现 1定义 (Strategy Pattern)定义一组算法,将每个算法都封装起来,并且使他们可以相互替换 也叫政策模式 2类图 3实现 class Strategy{ protected: Stra…
Junit源码阅读(六)之Junit中的设计模式
前言 在这次的博客中我们将着重于Junit的许多集成性功能来讨论Junit中的种种设计模式。可以说Junit的实现本身就是GOF设计原则的范例教本,下面就让我们开始吧。 装饰器模式 装饰器模式是为了在原有功能上加入新功能…
组合模式(Composite)
组合模式 一.组合模式 1.1 定义 将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 二.实现 2.1 创建节点类 public class Node { p…
策略模式(从放弃到入门)
今天看了 Head First 设计模式的第一个模式,居然是策略模式,感觉这种模式很实用,而且书上写了20多页,我这里做一下精简,给大家分享一下,在最后也有一些自己的思考。既然是精简,所以一定会有一些省略,如果要看详细的…
C#设计模式-单例模式
前言 最近开始花点心思研究下设计模式,主要还是让自己写的代码可重用性高、保证代码可靠性。所谓设计模式,我找了下定义:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。毫无疑问,设计模式于己于他人于系统都…
C++设计模式-Composite组合模式
Composite组合模式作用:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 UML图如下: 在Component中声明所有用来管理子对象的方法,其…