设计模式
文章平均质量分 78
ArryL
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式 在Spring的设计中,使用了很多设计模式,其中,我们最熟悉的应该就是单例模式了。单例模式是指一个类只有一个实例,Spring容器中,所有bean默认都是单例的。比如我们最常写的controller,无论你创建多少个实例,它的方法以及整个执行链都是一样的。 使用单例模式的优点就是可以节省内存空间,减少GC的消耗。 以下给出几种单例模式的实现方法 最简单的实现: 这种实现方...原创 2018-08-31 08:57:17 · 262 阅读 · 0 评论 -
工厂模式
工厂模式 工厂模式 概述 简单工厂模式 工厂模式 抽象工厂模式 概述 在平时编码过程中,当需要一个新对象的时候,我们第一反应就是直接new一个对象出来。以下用买车来举个例子。 Car porsche= new Porsche(); Car ferrari = new Ferrai(); . . . 那么,如果一个完整的购车流程就会变成以下这样: public C...原创 2018-09-04 22:14:06 · 347 阅读 · 0 评论 -
代理模式
代理模式 静态代理实现 动态代理实现 jdk动态代理 Cglib动态代理 区别 代理模式 定义:为另一个对象提供一个替身来控制对这个对象的访问。 用现实中的场景来举例,比如我要租一个房子,但是我没有门路可以直接找到房东,所以我找了一个中介来帮我租个房子。但是中介也不能白干活啊,所以在租房子后,他就需要向我收取中介费。 在这个例子中,中介就是代理,房东是我们真实需要的...原创 2018-09-12 16:56:21 · 176 阅读 · 0 评论 -
观察者模式
观察者模式观察者模式UML代码实现JDK提供的观察者接口ObserverObservable总结 观察者模式 观察者模式,定义了对象之间一对多的依赖,当一个对象的状态改变的时候,它的所有依赖者都会收到通知,并自动更新。 观察者模式也叫做 发布-订阅模式。这个被依赖的对象也叫做主题(Subject),而这些依赖着主题的对象叫做观察者(Observer)。 UML 根据定义画出以下类图 Subjec...原创 2018-09-19 23:48:03 · 164 阅读 · 0 评论 -
迭代器模式
迭代器模式 迭代器模式提供了一种方法顺序访问集合内的所有元素,而不暴露其内部的表示。 类图 迭代器模式在Java的Collection类及其子类中被大量的使用到,所以以下就以Collection中的代码来举例。 实现 首先来看,迭代器模式是如何提供顺序遍历的方法。 Iterator源码 public interface Iterator<E> { boolean has...原创 2018-10-16 22:34:45 · 177 阅读 · 0 评论