类别:设计模式 阅读:3 发布时间:2018-06-22

外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。例子:通过ShapeMaker简化Shape的创建。1创建Shape类package com.notejava.facade;/** * @autho...

 

类别:设计模式 阅读:4 发布时间:2018-06-22

装饰器模式可以用于增强一个现有的对象,同时又不改变其结构。uml图如下:代码如下:抽象构件package com.notejava.decorator;/** * @author lyle 2018/6/22 15:35. */public interface Component { void oper...

 

类别:设计模式 阅读:6 发布时间:2018-06-22

桥接是用于把抽象化与实现化解耦,使得二者可以独立变化。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。例子:通过定义桥接接口DrawApi,把Shape的draw功能独立出来。1.创建Shape抽象类package com.notejava.brid...

 

类别:设计模式 阅读:8 发布时间:2018-06-21

适配器模式将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。例子:音频播放器设备只能播放 mp3 文件,通过适配器来实现播放 vlc 和 mp4 文件。1创建MediaPlayer,代表普通的媒体播放器。package com.notejava.a...

 

类别:设计模式 阅读:17 发布时间:2018-06-21

建造者模式使用多个简单的对象一步一步构建成一个复杂的对象。例子:麦当劳套餐。一份麦当劳套餐,通常包含一个汉堡,一份冷饮,汉堡又可以分为蔬菜汉堡,鸡肉汉堡等;冷饮可以分为百事可乐,可口可乐等。汉堡使用纸盒包装,冷饮使用杯子包装。那么正个套餐就是一个复杂的对象,下面使用建造者模式构建。1创建Item接口,用来表示...

 

类别:设计模式 阅读:43 发布时间:2018-06-20

抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。产品等级:如一个抽象类是空调,其子类有海尔空调,美的空调;如一个抽象类是洗衣机,其子类有海尔洗衣机,美的洗衣机。产品族:产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品。如海...

 

类别:设计模式 阅读:32 发布时间:2018-06-19

工厂方法模式将工厂也进行抽象化,产品类的实例化又对应的子工厂实例化。例子如下:代码实现如下:1.定义Log接口package com.notejava.factory.simple;/** * @author lyle 2018/6/19 11:03. */public interface Log {...

 

类别:设计模式 阅读:39 发布时间:2018-06-14

简单工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。例子如下:代码实现如下:1.定义Log接口package com.notejava.factory.simple;/** * @author lyle 2018/6/19 11:03. */public interface...

 

类别:elasticsearch 阅读:33 发布时间:2018-06-14

本博客此前的站内搜索是用lucene做的,最近打算切换成elasticsearch。1. 安装当前最新的elasticsearch和kibana,已写在前面的博客 elasticsearch-6.2.4安装。2. 创建索引,可以用kibana的console来操作#创建一个索引,名叫notejava,创建一个...

类别:设计模式 阅读:61 发布时间:2018-06-11

单例模式:确保某一个类只有一个实例,并提供全局访问该实例的方法。uml图如下:1.饿汉式package com.notejava.singleton.hungry;/** * 饿汉式 * instance 在类加载时就完成了初始化,所以类加载慢,对象获取速度快。 * * @author lyle 2018/6...

 

© copyright 粤ICP备16108162号-1