![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 71
wittdong
五湖四海情为重,天南地北义当先。
展开
-
java设计模式--组合模式
组合模式就是将对象组合成树状结构,主要由抽象组件类或者接口、组合组件以及叶子组件组成。 1. 抽象组件类(也可以用接口来实现) package demo.design.zuhe; //抽象组件类或接口 public abstract class Component { protected String name; public Component(String s){原创 2017-03-17 16:21:22 · 295 阅读 · 0 评论 -
Java动态代理--jdk动态代理(初识)
前些时候了解了代理模式,代理模式允许我们帮助一个对象去访问另一个对象。但是他有一个缺点就是代理类所实现的接口和所代理的方法都被固定,那么如果要为不同的类提供代理,就需要增加新的代理类,这将导致系统中类的数量急剧增加,上面这种方式也称为静态代理。下面来介绍下动态代理,动态代理可以让系统根据需要来动态创建代理类,让同一个代理类能够代理多个不同的类。java动态代理包括jdk动态代理和cglig动态代理原创 2017-03-08 17:28:42 · 422 阅读 · 0 评论 -
java设计模式--观察者模式
1、抽象观察者介绍 观察者模式定义了一种对象间的一对多的依赖关系,即每当一个对象状态改变时,所依赖于他的所有对象都要被通知并自动更新。观察者模式的组成部分包括: 1)抽象观察者角色:为那些在目标发生改变时需要获得通知的对象提供一个接口 2)具体观察者角色:存储有关状态,这些状态应该与目标状态保持一致 3)抽象目标角色:目标角色知道它的观察者,可以有任意多个观察原创 2017-03-16 16:51:24 · 212 阅读 · 0 评论 -
java设计模式--抽象工厂模式
抽象工厂模式 1)定义抽象工厂类 public abstract class AbstractFactory { public abstract Vehicle createVehicle(); public abstract Weapon createWeapon(); public abstract Food createFood(); } 2)具体工原创 2017-03-15 17:24:40 · 269 阅读 · 0 评论 -
java设计模式--工厂方法模式
工厂模式是java比较重要的模式之一,工厂模式又可以分为简单工厂模式、工厂方法模式和抽象工厂模式,在有些书中也把简单工厂模式归类为工厂方法模式。下面我通过我 的学习来对他们进行一个总结。 1. 简单工厂模式 简单工厂模式有三种角色组成: 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。 具体产品角色:工厂类所创建的对象就是此角色原创 2017-03-15 15:35:53 · 230 阅读 · 0 评论 -
策略模式
策略模式定义了一系列的算法,将每一个算法封装到具有共同接口的实现类中,并且使他们可以互为替换。策略模式主要有三个角色组成。 1)抽象策略角色:策略类,通常由一个接口或者抽象类实现。 2)具体策略角色:包装了相关的算法和行为 3)环境角色:持有策略类的引用 下面引入大话设计模式中的加减乘除例子来具体讲解: 抽象策略角色: public interface Operati原创 2017-03-22 18:10:16 · 211 阅读 · 0 评论 -
状态模式
状态模式允许一个对象在其内部状态改变时改变其行为的模式,然后这个对象看起来似乎修改了他的类。状态模式也可以通过简单的if-else语句来穷举出所有的情况,但是如 果碰到复杂的情况,简单的if-else语句就显得有点力不从心啦,如果需要增加新的状态,那么需要就要做大量的修改,这个时候能够修改自身的状态模式就显得特别重要啦。 状态模式所涉及到的角色有: 1)环境(Context)原创 2017-03-22 15:01:45 · 342 阅读 · 0 评论 -
单例模式
单例模式是一种非常常见的设计模式,线程池、打印机、缓存、日志对象等都会设计成单例模式。单例模式有以下几个特点: 1)单例类只能有一个实例 2)单例类必须自己创建自己的实例 3)单例类必须给其他所有对象提供这一实例 一、懒汉式单例模式 public class Singleton{ private Singleton(){} private static Singleton singl原创 2017-03-22 11:52:48 · 377 阅读 · 0 评论 -
设计模式----代理模式
即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。顾名思义,代理模式的意思就是,在一个对象不能或者不想直接访问另一个对象的时候,代理对象起到一个中介的作用帮助去访问另一个对象。 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 下面首先给出两个代理模式的示例:原创 2017-03-08 17:26:21 · 314 阅读 · 0 评论 -
jdk动态代理和cglib动态代理剖析
一、 jdk动态代理 直接上代码,下面代码是创建jdk代理工厂的代码: public class JDKProxyFactory implements InvocationHandler{ private Object targetObject; public Object createProxyIntance(Object targetObject){ this.targetObj原创 2017-04-27 16:25:44 · 344 阅读 · 0 评论