随笔分类 -  设计模式

摘要:1. 策略模式的作用 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。 2. 为什么要使用策略模式? 我们想象一下最常见的场景:排序。排序无非两种选择,升序或降序。如果我们要封装一个类要自由的切换两种排序要怎么做呢? 最常见的做法是这样的: public cl 阅读全文
posted @ 2019-11-16 18:40 神奇海螺。 阅读(299) 评论(0) 推荐(0)
摘要:1.饿汉模式 饿汉模式是线程安全的,因为 private static Singleton1 singleton1 = new Singleton1(); 语句是在类加载时完成的,具体是在类加载的初始化阶段时的<client>方法中进行的。 2.懒汉模式 这种懒汉模式是线程安全的,在这里只有获取到C 阅读全文
posted @ 2019-04-22 16:16 神奇海螺。 阅读(141) 评论(0) 推荐(0)
摘要:1.观察者模式 观察者这模式定义了对象之间一对多依赖,这样一来,当一个对象的改变时,它的所有依赖者都会受到通知并自动更新。 2.举个例子:小明快要高考了,小明的妈妈和爸爸监控着家里的电脑,一旦有人使用就会收到通知。这时小明的爸爸妈妈就为观察者(Observer),而电脑是否被使用就是一个主题(Sub 阅读全文
posted @ 2019-04-20 22:03 神奇海螺。 阅读(203) 评论(0) 推荐(0)
摘要:1.之前的博客中说过Mybatis中的二级缓存(CachingExecutor为装饰器模式的实现),现在就来说一下装饰器模式。 2.装饰器模式的作用: 动态的为一个对象添加新的功能,以往我们要增加功能要不修改源代码,要不就是生成自类,非常不灵活。就添加一个功能而言使用装饰器模式更加方便。 (1).比 阅读全文
posted @ 2019-04-20 20:53 神奇海螺。 阅读(269) 评论(0) 推荐(0)