文章 2017-11-26 来自:开发者社区

【HeadFirst 设计模式学习笔记】17 中介者(Mediator)模式拾零

.概述 该模式在Head First中没有介绍,它用于通过一个中介者完成对象间通信的解耦。当代码中出现大量有着其他对象信息的对象时就可以使用这个模式。 在这个模式中,有如下的参与者: 中介者(Mediator):抽象定义了“同事”(colleagues,稍后有定义)们通信的接口。 具体中介者(Concrete Mediator):实现了“同事”间的通信接口。 同事(Colleague):参与通信....

文章 2017-11-26 来自:开发者社区

【HeadFirst 设计模式学习笔记】19 桥接(Bridge)模式拾零

1.概述 该模式也是Head First中未收录的,其主要用于分离接口与实现,常应用在你不希望将实现和抽象永久绑定的时候。其实质在于提供一个对抽象接口的抽象实现,而抽象实现中又包含一个具体实现接口(叫做“实现者”)的引用,通过这个引用给抽象实现提供能力。 2.实例 假设我们要创建一个具有持久化能力的类,其对象实例的持久化可能是通过数据库,也可能是通过文件系统进行。通常的实现是通过继承这个类分别完....

文章 2017-11-26 来自:开发者社区

【HeadFirst 设计模式学习笔记】 20 解释者(Interpreter)模式拾零

1.概述 这个模式是在不能叫做模式,它的作用是实现一种语言规范的解释器,比如罗马数字解释器。 2.实例 我们在这创建一个决策器。通过构建有两种语言,OR和AND,可以想象为一个单位,领导给出一些决策意见,比如谁或者谁提拔,谁和谁提拔等(这里面有嵌套),然后存入这个决策器中。主程序通过输入几个人名的组合得出一个是不是可能这些人被提拔的决策。 首先,我们对决策器中的语言进行一个抽象: 里面提...

文章 2017-11-26 来自:开发者社区

【HeadFirst 设计模式学习笔记】21 备忘录(Memento)模式拾零

1.概述 这个模式也比较简单,书中没有提到。用于恢复上次操作结果等场景,比如数据库回滚等。这个模式有三个参与的实体: Originator:知道如何保存自己的对象。 Caretaker:知道Originator何时以及为何保存并恢复自己的对象。 Memento:由Originator进行读写,并且Caretaker完成维护的对象 2.实例 首先,我们创建一个Memento: 里...

文章 2017-11-23 来自:开发者社区

java 设计模式 学习笔记(一)

设计原则:        找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。如果每次新的需求一来,都会是某方面的代码发生变化,那么这部分的代码需要被抽出来,和其他稳定的代码有所区分。    另一种思考方式:把会变化的部分取出并封装起来,以便以后轻易地改动或扩充此部分,而不影响不需要变化的其他部分。 设计原则:...

文章 2017-11-23 来自:开发者社区

java 设计模式 学习笔记(三)装饰者模式

   利用组合(composition)和委托(delegation)可以在运行时具有继承行为的效果。    利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。代码应该如同晚霞中的莲花一样地关闭(免于改变),如同晨曦中的莲花一样地开放(能够扩展)。 设计...

java 设计模式 学习笔记(三)装饰者模式
文章 2017-11-23 来自:开发者社区

java 设计模式 学习笔记(二)观察者模式

   观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。    观察者模式,类图:    利用观察者模式,主题是具有状态的对象,并且可以控制这些状态。也就是说,有“一个”具有状态的主题。另一方面,观察者使用这些状态,虽然这些状态并不属于他们。有许多观察者,依赖主题来告诉他们状态何时...

java 设计模式 学习笔记(二)观察者模式
文章 2017-11-23 来自:开发者社区

java 设计模式 学习笔记(四)工厂模式

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20     public Pizza orderPizza(String type) {         Pizza pizza; //------------------...

java 设计模式 学习笔记(四)工厂模式
文章 2017-11-23 来自:开发者社区

设计模式学习笔记(2) - 工厂方法模式

工厂方法模式 工厂方法就是创建了很多的工厂用来生产不同的产品。 用一个例子来说明一下: // 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。  // 核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,  // 这样进一步抽象化...

文章 2017-11-23 来自:开发者社区

《设计模式》学习笔记5——单例模式【高并发拓展】

定义 单例模式又称为单件模式,这个模式大概是设计模式中最好理解的了,我起初就打算从这里开始学,甚至还记过另一篇单例模式学习的笔记。但是之后跟着《设计模式》这本书系统的学,就索性从第一页开始,而单例模式算是复习,也算是再深入的理解一次。之所以要这么做,是因为上一次写的没有给出更标准的定义,同时,当时只介绍了基础的懒汉式和饿汉式,对于并发时候的单例却没有涉及,所以这篇学习的重点应当在于高并发时如何保....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。