自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 策略模式

策略模式一般算法都是和客户端耦合的,通过策略模式和客户端解耦1.算法接口2.各种算法实现类3.Context类,上下问对象,持有算法类客户端调用Context 类,Context类调用算法类.

2017-01-27 17:38:39 201

原创 观察者模式

观察者模式角色:1.发布者接口2.发布者实现类,持有观察者接口的集合,可以通知和调用所有的观察者的方法注册方法,可以在发布者注册观察者3.观察者接口4.观察者实现类,发布者发布信息后观察者接受信息或者改变

2017-01-27 17:30:33 183

原创 状态模式

状态模式角色1.Context对象,持有State类.不同的State下功能不同2.State接口,定义通用方法3.Sate实现类,不同的State代表不同状态,相同的方法可以有不同的操作

2017-01-27 17:13:48 236

原创 中介者模式

中介者模式需要调用多个相似的或一组类中的一个,采用中介这可以简化客户端调用,由中介者来帮助调用角色:1.同事类接口2.下面多个同事类3.中介者类,持有所有同事类,根据需求调用特定的同事类4.客户端直接调用中介者类,中介者类根据需要调用相应的同事类

2017-01-27 16:41:30 226

原创 责任链模式

责任链模式普通写法采用if...else...或者switch case,不好维护和扩展,不符合开闭原则责任链模式:1.接口2.根据if...else...写多个实现类,每个实现类持有一个下级接口3.请求来了以后,依次往下传递客户端调用简单.

2017-01-27 16:16:12 246

原创 装饰模式

装饰模式

2017-01-27 15:53:16 367

原创 外观模式

外观模式

2017-01-27 15:42:21 171

原创 组合模式

组合模式

2017-01-27 15:26:58 173

原创 享元模式

享元模式

2017-01-26 11:43:44 181

原创 桥接模式

目的:解决多维度影响产品的情况,解决多继承下类的急剧扩张eg:cpu接口下有Inter和Amd两个实现类Computer类持有CpuLenovo和Dell继承Computer这样Cpu可以随意扩展,Computer品牌也可以随意扩展,不会引起子类的过多扩张没有桥接模式,如果是3纬组成产品,3*4*5种组件如果第一种增加一种,则子类增加4*5种子类

2017-01-26 11:41:16 200

原创 动态代理

动态代理,动态的创建代理类1.接口Interface2.实现类Target3.Handler类:TargetHandler 实现InvocationHandler,持有Target对象invoke方法中调用target的方法4.使用:生成代理类,使用Proxy.newProxyInstance方法调用代理类的相关方法即可

2017-01-25 21:31:27 175

原创 静态代理

静态代理使用:接口Interface,方法Method实现类Target实现Interface,是实际上起作用的类,起作用的方法Method代理类Daili也实现Interface,持有Target,在Daili的对象,在Method方法中,调用需要的各种方法,然后调用Target的Method

2017-01-25 21:27:12 194

原创 适配器模式

适配器模式适用于,借口转换案例Client需要Interface1接口的实现类现在有Interface2接口和实现类新建Adapter类实现Interface1,持有Interface2的实现类对象,在相关的方法中调用需要的方法这样可以给Client传入Adapter,满足Client接口需要,同时提供了Interface2的服务

2017-01-25 20:42:43 182

原创 原型模式

原型模式的目的1.创造和目标对象一样的对象2.快速创建对象方法:1.克隆,要实现Clonable接口,重写clone方法要注意浅克隆和深克隆的区别2序列化,反序列化,要实现Serilaziable接口注意,瞬间变量不能序列化序列化可以读取getResource方法

2017-01-25 19:21:39 185

原创 构建者模式

构建者模式用来组装复杂对象

2017-01-25 19:18:57 182

原创 抽象工厂模式

1.目的创建对象,由工厂生产对象2.适用情况产品族的概念3.eg:好轮胎,普通轮胎好座椅,普通座椅以上2个产品族,组成4个产品高端车:好轮胎+好座椅普通越野:好轮胎+普通座椅普通商务:普通轮胎+好座椅低端车:普通轮胎+普通座椅4.涉及的接口和类接口:轮胎,座椅,工厂类:两种轮胎类,两种座椅类,2个工厂类分别生产轮胎和座椅

2017-01-24 21:20:50 178

原创 简单工厂和方法模式

1.目的这两个模式的目的是生产产品,也就是new对象,由工厂new对象,减轻了客户端new对象的复杂度,达到低耦合,高内聚2.涉及的接口和类两个接口:产品接口和工厂接口两组实现类:产品的实现类和工厂的实现类3.eg:简单工厂car接口 Benz实现类 Byd实现类EasyFactory接口 Factory实现类:实现类写法1.通过传入的字符串new相

2017-01-24 21:00:23 232

原创 单例模式的总结

1.5种写法饿汉式,懒汉式,双重检查,静态内部类,枚举2.破话单例的方式1.反射--防范方法:构造器抛出异常2.序列化--防范方法:getResource()方法3.单例要考虑的问题1.线程安全,2调用效率3.延时加载

2017-01-16 22:19:13 234

原创 protected关键字

protected有一下特性:1. protected 访问控制符能被用于方法和成员变量。     2. 声明为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样。     3. 能被该类的子类所访问,子类可以和父类不在一个包中。     这样,当你想让一个类中的某个方法或成员变量在包中都可见,而且其子类也能访问(子类有可能和父

2017-01-13 17:46:32 524

原创 effective 2

用枚举代替单例模式高效而且安全public enum Singleton { SINGLETON; public String say(){ return "hello"; } public static void main(String[] args) { String s = SINGLETON.say();

2017-01-13 10:51:43 170

原创 effective java 1

静态工厂方法 代替 构造器

2017-01-13 10:35:17 197

原创 java对象和byte数组互转,直接拿去用

import java.io.*;import java.util.Optional;/** * Created by Jason on 2017/1/3. */public class ByteArrayUtils { public staticT> Optionalbyte[]> objectToBytes(T obj){ byte[] bytes = n

2017-01-03 13:58:12 8515 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除