- 博客(10)
- 收藏
- 关注
原创 java设计模式:外观模式
外观模式(Facade Pattern):提供一个统一的接口,来访问子系统中一群功能的相关接口,外观模式定义一个高层接口,让子系统更容易使用,同时也使得客户端与子系统之间解耦。举个简单的例子,一个家庭影院,有DVD和爆米花机两个家电,这两个家电都有自己的开关控制运作,而现在家庭影院需要为了用户更好的体验,用一个统一的遥控器来控制这两个家电,这就是外观模式下面通过一段代码来做一个简单的演示,以便更好...
2018-07-08 13:10:45
210
原创 java设计模式:适配器模式
适配器模式(Adapter Pattern):将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容。适配器模式包括目标、适配器、被适配者三个角色。适配器模式在生活中也有很多体现,比如插头和插座间的转换器、内存卡的读卡器等就是典型的适配器模式,使用适配器模式的优势在于,从用户的角度是看不到被适配者的,目标和被适配者之间是解耦的。下面通过一个简单的例子来演示适配器模式的原理:插头的例子1、插座...
2018-07-04 23:07:32
221
原创 java设计模式:命令模式
命令模式(Command Patter):将请求、命令、动作封装成对象,这样可以让项目使用这些对象去参数化其他对象,使得命令的请求者和执行者解耦。命令模式一般可认为包括下面三个角色: 1)请求者(invoker):即命令的发起方 2)命令(command)类:一般使用抽象类或者接口定义command,以及实现该接口或继承该抽象类的实体类 3)执行者(receiver):即命令的执...
2018-07-04 21:55:22
188
原创 java设计模式:原型模式
原型模式(Prototype pattern):用来创建重复对象。即先将创建过的对象缓存起来,当再次需要使用该对象的时候,使用clone的方式获取。这种方式一般适用于创建对象代价较大的情况下,原型模式创建对象的方式属于浅复制(clone),即复制后的对象并不是原对象,指向的地址值不同,复制后的对象的变化不会影响到原对象,还有一种是深复制,深复制是使用二进制流的方式进行复制。使用原型模式的,则对象必...
2018-06-25 10:12:16
138
原创 java设计模式:工厂模式
工厂模式(factory pattern):即使用工厂方法来替代new的方式创建对象工厂模式可分简单工厂和抽象工厂模式。下面对这三种类型进行一一演示1简单工厂模式 1)定义超类public abstract class Car { public abstract void display(); //外观} 2)子类public class BMWCar extends Car { ...
2018-06-24 14:03:27
162
原创 java设计模式:单例模式
单例模式(SingleTon Pattern):创建单一对象,使得外部获取的当前类的对象始终是唯一的,单例模式是Java设计模式中最简单的一种模式。单例模式一般使用在获取需要保持全局统一的对象的场景中,比世界上的某个国家、某个国家的主席、特定的某个人等都是唯一的,所以是单例的。单例模式的实现方式有很多种,可根据不同的场景灵活使用1、懒汉式(线程不安全的方式)顾名思义,懒汉式就是实现了懒加载,在需要...
2018-06-22 15:16:07
220
1
原创 java设计模式:装饰者模式
装饰者模式(Decoration Pattern):动态的将新功能(装饰者)添加到对象(主体)上,在对象扩展功能方面,它比继承更有弹性,也体现了开放关闭原则(对扩展开放,对修改关闭)。装饰者模块包括Component(主体,一般为抽象类)、ConcreteComponent(具体的主体)、Decorator(装饰者)三个角色,如果项目较为复杂,可以在主体和具体主体间以及主体与装饰者间添加中间层,该...
2018-06-22 00:02:33
327
原创 java设计模式:观察者模式
观察者模式(View Pattern):对象之间多对一依赖的一种解决方案,被依赖的对象称之为Subject,依赖的对象称之为Observer,Subject通知Observer变化。观察者模式就相当于咱们现实生活中的订牛奶业务以及订报纸业务等,用户就是那个Observer,牛奶公司或者报纸公司就是那个Subject,属于多对一的依赖关系。Subject提供登记注册、移除、通知的方法Observer...
2018-06-21 22:08:21
152
原创 java设计模式:策略模式
策略模式(Strategy Pattern):分别封装接口,实现算法族,超类里面放行为接口对象,在子类里面具体设定行为接口对象,原则就是分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。使用策略模式(同样针对于所有的方案设计)的时候,需要应对项目的扩展性,降低复杂度。分析项目中变化与不变的部分,提取变化的部分,抽象成接口+实现。下面使用一个简单的例子来演示一下...
2018-06-21 20:55:42
153
原创 java设计模式:建造者模式
建造者模式(Builder Pattern):使用多个简单的对象来一步步创建一个复杂的对象,将一个复杂的对象的构建与它的表示分离,将变与不变分离开来。建造者一般包括产品类(javaBean)、抽象创建者(接口)、具体创建者(实现类)以及指导者四个角色。1、产品类:待创建对象的复杂类以及可能存在的组成该复杂对象的其他类2、抽象创建者:规范复杂对象中各个成品的创建规则,不涉及具体的创建过程3、具体创建...
2018-06-21 17:49:19
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅