设计模式
洛豳枭薰
最好的年华为最初的梦想尽最大的努力
展开
-
观察者模式
文章目录一、观察者模式二、订阅/发布模式(push模式)三、pop模式拉取模式四、标准模式(继承现有接口和抽象类)五、引用一、观察者模式观察者的通俗理解可以参考订阅发布的方式,每一个订阅内容,一旦被观察对象内容改变就会向观察者发送消息,告诉观察者修改了内容或者是观察者获取最新内容Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数...原创 2019-07-01 16:15:24 · 169 阅读 · 0 评论 -
工厂模式
文章目录一、简单工厂模式Demo二、工厂方法模式1、工厂方法模式简介2、工厂方法模式结构2、Demo三、抽象工厂模式1、抽象工厂方法简介2、抽象工厂方法结构3、Demo一、简单工厂模式简单工厂模式就是为了避免直接new对象,不需要去关注怎么生成该对象,用户只需要传入对应的参数就可以1、Iproduct:定义抽象产品类的公共方法2、Product:定义具体的产品类,实现抽象类中的方法...原创 2019-07-02 10:27:46 · 151 阅读 · 0 评论 -
由单例模式引发的一系列思考
一、单例模式饿汉模式饿汉模式:在第一次引用该类便创建对象,而忽略是否使用该对象,最好的方式应当是延迟加载 class csingleton { public csingleton() { } public static csingleton sing = new csingleton(); public csingleton getInstance() {...原创 2019-05-10 16:22:29 · 150 阅读 · 0 评论 -
享元模式
文章目录一、享元模式的意义?二、享元模式结构1、单纯享元模式2、复杂享元模式三、单纯享元模式实现四、复合享元模式实现一、享元模式的意义?享元模式重点在于享,可以理解为分享,String的设计使用到了祥元模式,这个模式存在的意义在于减少创建许多冗余的实例对象,造成OOM错误,比如在电商中,如果客户请求一个商品就需要实例化一个商品对象,之后调用该对象的方方,一定会导致内存爆表的情况,享元模式会判断...原创 2019-07-01 13:51:51 · 184 阅读 · 0 评论 -
代理模式
文章目录一、静态代理二、jdk的动态代理1、实现jdk动态代理2、使用要点(1)为什么jdk动态代理只能针对于接口?(2)为什么调用InvocationHandler会自动执行invoke()函数?(3)为什么匿名内部类使用局部变量需要定义为final?三、cglib的动态代理1、实现cglib动态代理四、参照博客一、静态代理1、比如买房子,首先实现通用接口,buyhouse()2、目标类实...原创 2019-08-13 09:35:29 · 133 阅读 · 0 评论