Design Pattern 05-原型模式(Prototype Pattern)
原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 04-builder 构建者模式
建造者模式
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
比如:StringBuilder
实际案例
类信息概览:
类名
说明
Main.java
方法的总入口
...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 03-单例(singleton)设计模式
单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意
1、单例类只能有一个实例。
2、单例类必须自己创建自己的...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern-03-观察者模式 observer
Observer
观察者模式隶属于系统解耦(System decoupling)。
和其它形式的回调函数(callback)类似,Observer 模式也允许你通过挂钩程序 (hook point)改变代码。
不同之处在于,从本质上说,Observer 模式是完全动态的。
它经常被用于需要根据其它对象的状态变化来改变自身(状态)的场合,而且它 还经常是事件管理系统(event manag...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 02-代理模式 策略模式 proxy strategy
Proxy
意图
为另一个对象提供代理或占位符以控制对它的访问。
适用性
远程代理为不同地址空间中的对象提供本地代表。
虚拟代理按需创建昂贵的对象。
保护代理控制对原始对象的访问。
智能引用是裸指针的替代品,它在访问对象时执行额外的操作。
后果
远程代理可以...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 02-抽象工厂模式(abstract factory)
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
介绍
意图:提供一个创建一系列相关或相互依赖对象的接口,而...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern 01-入门案例 单例+工厂+抽象工厂
Design Pattern
“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution
to that problem, in such a way that you can use...
2017-03-14 11:52:28 |
Design Pattern
Design Pattern-01-工厂模式(factory)
工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
介绍
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
主要解决:...
2017-03-14 11:52:28 |
Design Pattern