#新模式

事件监听器模式与Spring事件机制

  比如监听门开关改变事件以及name改变事件。1.事件相关类抽象门事件packagecn.qlq.event.base;importjava.util.EventObject;publicabstractclassDoorEventextendsEventObject{privatestaticfinallongse...

linux的namespace、docker网络模式

  docker容器本质上是宿主机的进程,Docker通过namespace实现了资源隔离. 1.概念  namespace是Linux内核用来隔离内核资源的方式。通过namespace可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存...

调停者模式

  调停者(Mediator)模式又称为中介者模式,包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散的耦合。当这些对象中的某些对象之间的相互作用发生变化时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。  WTO是一个协调组织,各个贸易地区可以由W...
代码星球 ·2020-08-27

访问者模式

  访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。   访问者模式适用于数据结构相对稳定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开。  数据结构的每一个节点都可以接受一个访问者的调用,此节点向访问者对象传入节点对象,而...
代码星球 ·2020-08-27

解释器模式

  给定其中一种语言,解释器模式可以定义出其文本的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。 为了说明解释器模式的实现办法,这里给出一个最简单的文法和对应的解释器模式的实现,模拟Java语言中对布尔表达式进行操作和求值。  在这个语言中终结符是布尔变量,也就是常量true...
代码星球 ·2020-08-27

状态(State)模式

  状态模式又称对象模式,状态模式是对象的行为模式。  状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。   用一句话来说,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的子类。状态模式的意图是让一个对象在其内部状态改变的时候...
代码星球 ·2020-08-27

备忘录(Memento)模式

  备忘录模式又叫做快照模式或者Token模式。  备忘录对象是一个用来存储另一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一起使用。  常见的系统往往不止存储...
代码星球 ·2020-08-27

命令(Command)模式

  命令模式又称为行动(Action)模式或者交易(Transaction)模式。  命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销或恢复功能。  命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同...
代码星球 ·2020-08-27

责任链(ChainOfResponsibility)模式

  在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出请求的客户端并不知道链上的哪一个对象,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。 1. 从击鼓传花谈起  击鼓传花是一种热闹而紧张的游戏。在酒...

迭代子(Iterator)模式

  迭代子模式又叫做游标模式。迭代子模式可以顺序地访问一个聚集中的元素而必暴露聚集的内部表象。  多个对象在一起形成的总体形成聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。数组就是最基本的聚集,也是其他Java聚集对象的设计基础。  Java聚集(Collection)对象是实现了共同的接口(jav...
代码星球 ·2020-08-27

观察者(Observer)模式

  观察者模式又叫做发布-订阅模式(Publish.Subscribe)模式、模型-视图模式(Model/View)模式、源-监听器模式(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者同时监听某一个主题对象。这个主题对象在状态上发生变化时...
代码星球 ·2020-08-27

模板方法(TemplateMethod)模式

  模板方法模式是准备一个抽象类,将部分逻辑以具体方法以及构造子的形式出现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑部分有不同的实现。这也是模板方法模式的用意。  模板方法模式是基于继承的代码复用的基本技术。   模板方法模式的静态结构如下:涉...

策略(Strategy)模式

  策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响客户端的情况下发生变化。  策略模式相当于可插入式的算法。可以使得在保持接口不变的情况下,使具体算法可以互换。  策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对...
代码星球 ·2020-08-27

不变(Immutable)模式

  一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。   不变模式可增强对象的强壮性。不变模式允许多个对象共享一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创建时将这个心的状态存储在新对象里。  不变模式只涉及到一个类...
代码星球 ·2020-08-27

桥接(Bridge)模式

  桥接模式又称为柄体模式或接口模式。桥接模式的用意就是"将抽象化与实现化解耦,使得二者可以独立变化"。抽象化:  存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同实体当做同样的实体对待。实现化:  抽象化给出的具体实现,就是实现化。脱耦:  耦合是指两个实体的行为的某种...
代码星球 ·2020-08-27
首页上一页...3839404142...下一页尾页