
设计模式
LJHSkyWalker
热爱各种技术
星战迷!
展开
-
用观察者模式 动手写一个导弹预警系统(滑稽)
观察者模式定义:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。观察者模式设计原则:为交互对象之间的松耦合设计而努力。不足:如果使用了java中自带的观察者模式类,则违背了多用组合少用继承和不针对实现编程的设计原则要点:观察者模式定义了一对多的对象关系,主题(可观察者)用一个共同的接口来更新观察者,当有多个观察者是不能依赖代码中的次序,如果有必要就自...原创 2018-06-17 14:36:11 · 376 阅读 · 1 评论 -
用装饰者模式 动手写一个导弹系统组装功能(滑稽+1)
话接上文,敌人导弹来袭,我们的雷达做出了及时反应,通过观察者模式通知了五大战区做好防御,《用观察者模式 动手写一个导弹预警系统(滑稽)》现在轮到我们反击了。目前国防部发布了指示要求我设计一个程序可以组装出不同类型的导弹,但是要保证能更有弹性的将不同的功能模块加载到导弹上去。由此我选择了装饰者模式。设计原则:对扩展开放,对修改关闭。(开放关闭原则)装饰者模式定义:动态的讲责任附加到对象上,若要扩展功...原创 2018-06-18 12:27:38 · 407 阅读 · 0 评论 -
JDK动态代理 - 实现一个最简单的代理demo附赠代码解析
前言所谓代理其实就是代你打理一些事情,比如你选择了一个三天两晚的特色主题游产品。那么你需要做的仅仅是交钱就好,剩下的机票酒店签证路途门票等一系列事情,旅行社会帮你搞定。动态代理技术在Spring和Mybatis中应用十分广泛,举个例子我们平时写代码只需要编写增删改查的强业务关联代码即可,至于开关数据库连接,事物回滚等操作,都是基于代理的方式去帮我们搞定。代理方法会在我们的sql执行前,执行...原创 2018-10-28 17:12:20 · 236 阅读 · 0 评论 -
设计模式1【单例模式、观察者模式、工厂模式】
单例模式一、饿汉式:package single;public class EagerSingleton { private final static EagerSingleton EAGER_SINGLETON = new EagerSingleton(); private EagerSingleton() {} public static EagerSingleton get...原创 2019-02-08 15:41:01 · 553 阅读 · 0 评论