
设计模式
Java设计模式
Boogie_97
这个作者很懒,什么都没留下…
展开
-
Java设计模式--观察者模式
在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现...原创 2018-05-23 18:56:29 · 225 阅读 · 0 评论 -
Java设计模式--装饰者模式
在学习Mybatis二级缓存时,了解到sqlsessin对象会使用到一个Executor和相应的CachingExecutor的装饰者模式。所以就来具体了解一下。 Mybatis二级缓存详解–》https://blog.youkuaiyun.com/luanlouis/article/details/41408341。 强烈推荐!!! 接下来具体讨论装饰者模式: 装饰者模式定义: 动态地将责任...原创 2018-05-21 17:02:36 · 3697 阅读 · 0 评论 -
迭代器模式
迭代器模式: 提供一种方法访问一个容器中的各个元素,而又不暴露该对象的内部细节。 属于行为类模式 迭代器模式也是使用较多的一种模式。 遍历集合时,就必须先获得集合的iterator迭代器再遍历。这里的iterator就属于迭代器模式 结构: 抽象容器:一般是一个接口,提供一个iterator()方法。 例如java中的Collectiion接口。List接口,Se原创 2018-01-10 20:43:05 · 208 阅读 · 0 评论 -
外观者模式
外观模式: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口。 这个接口使得这一子系统更加容易使用。 外观模式是一种结构性模式。 要点: 1.外观模式为复杂的子类提供了一个简单的接口,并不为子系统添加新的功能和行为。 2.外观模式是吸纳了子系统和客户系统之间的松耦合。 3.外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限定客户使用子类。因此原创 2018-01-09 09:42:31 · 309 阅读 · 0 评论 -
单例模式
/** * 单例模式: * 几乎在每个用程序中,都需要有一个全局访问和维护某种数据类型的区域。 * 比如java语言基础一书中的订餐系统, * 需要一个全局的初始化订单来保存其他类中接收的具体的订单数量。 * 大多数人可能会采用将初始化订单作为static全局静态变量进行访问。(我也这样做了) * 但是,这种情况只解决了全局可访问的问题, * 而没有采取任何措施来确保在任何给定的时间只原创 2017-12-17 15:44:04 · 222 阅读 · 0 评论 -
工厂模式
工厂模式是一种创建性模式。 它是最常用的一种设计模式,在Java系统中随时可见。(在DOM解析XML时就用到了) 。 它定义了一个创建对象的接口,让子类来决定具体实例化那一个类。 当一个类无法预料要创建那种类的对象时;或者一个类需要子类来指定创建的对象时, 我们就需要用到工厂模式。 简单来说,工厂模式可以根据不同的条件产生不同的实例。当然这些不同的实例都是属于相同类型的原创 2017-12-21 16:10:33 · 240 阅读 · 0 评论 -
代理模式
代理模式: 作用: 为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。 其特征是代理与委托类有同样的接口。 代理模式是常用的设计模式。功能: 代理类不仅仅是一个隔离客户端和委托类的中介。 我们还可以借助代理类再次增加一些功能,而不需要修改原有代码。符合开闭原则。原创 2018-01-06 10:09:41 · 234 阅读 · 0 评论