随笔分类 -  设计模式

摘要:代理模式 什么是代理模式?(简单举例几个例子) 1、打王者段位一直打不上王者段位怎么办?请游戏代练。 2、过年回家自已抢不到高铁票怎么办?找黄牛帮我们抢票。 3、.......(生活中处处可见。) 由上可知,代理模式 就是: 给某一个对象提供一个代理对象,并由代理对象控制对 原对象的引用。 通俗滴讲 阅读全文
posted @ 2020-08-10 01:25 追梦滴小蜗牛 阅读(162) 评论(0) 推荐(0) 编辑
摘要:什么是单例模式? 单例模式指的是 一个类 只产生 一个实例化对象 目的(作用): 保证在Java应用程序中,一个类Class只有一个实例存在。 常见的模式: 饿汉模式 实现代码: public class SingleDemo0 { private static SingleDemo0 single 阅读全文
posted @ 2020-05-22 21:20 追梦滴小蜗牛 阅读(618) 评论(0) 推荐(0) 编辑
摘要:观察者模式的定义:在对象之间定义了一对多的依赖,当一个对象改变状态,依赖它的对象会收到通知并自动更新 比如,学校广播信息,学生获取信息,在学校的都能知道这条信息,不在学校的就不知道这条信息 抽象被观察者角色 一个抽象的主题,它把所有对观察者对象的引用保存在一个集合中。 每个主题都可以有任意数量的观察 阅读全文
posted @ 2019-04-16 18:05 追梦滴小蜗牛 阅读(344) 评论(0) 推荐(0) 编辑
摘要:理解策略模式 举个例子: 我们去海南游玩,出行的方式有很多种,比如我们坐 火车、高铁、飞机、游船等等。但是不管我们使用哪一种出行方式,咱们的最终目的就是去三亚游玩 (归纳起来也就是,选择不同的方式产生的结果都是一样的。) 策略模式的优缺点 优点 策略模式遵循开闭原则,实现代码的解耦合,扩展新的方法, 阅读全文
posted @ 2019-04-09 18:02 追梦滴小蜗牛 阅读(398) 评论(0) 推荐(0) 编辑
摘要:现在我们来模拟一下,某位学生去考试。 假设他(小明)正常的考试。 运行结果: 结果: 突然某一天,他睡过头了,来不急去考试,所有他打算叫另一个人(Cheater)去代替他考试。 运行结果: 结果: 上面的这些例子就是一个简单的代理行为。这个简单代理,耦合性太强了。作为演示就好了。 静态代理: 优点: 阅读全文
posted @ 2018-12-17 15:56 追梦滴小蜗牛 阅读(467) 评论(0) 推荐(0) 编辑
摘要:抽象工厂 定义:抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类。 为了能更好理解抽象工厂模式,举个例子: 手机有小米手机、华为手机、苹果手机....,这些具体的手机和抽象手机就构成了一个产品等级结构。 同样的,路由器有小米路由器,华为路由器,这些具体的路由器和抽象路 阅读全文
posted @ 2018-12-11 20:32 追梦滴小蜗牛 阅读(275) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式:也叫工厂模式,属于类创建型模式,工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象。 目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究竟应该实例化哪一个产品具体对象。 工厂方法模式包含四个部分: 1.抽象产品:产品对象同一的基类,或者 阅读全文
posted @ 2018-12-10 16:02 追梦滴小蜗牛 阅读(643) 评论(0) 推荐(0) 编辑
摘要:简单工厂 工厂是一种创建型的设计模式,常用于封装变化,一般遵循那里有变化就封装那里的原则。 简单工厂模式又 叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 以一个java面试题为例 --> 阅读全文
posted @ 2018-12-08 14:45 追梦滴小蜗牛 阅读(2353) 评论(0) 推荐(0) 编辑
摘要:建造者模式 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,使用多个简单的对象一步一步构建成一个复杂的对象。 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 关键代码:建造者-->创建和提供实例,导演-->管理建造出来的实例的依赖关系。 优点:建造者独 阅读全文
posted @ 2018-12-06 20:38 追梦滴小蜗牛 阅读(836) 评论(0) 推荐(0) 编辑
摘要:简介 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。 双重检查模式[推荐使用] 1、线程安全 public class Singleton { //将构造器私有化 private Singleton() {} //初始化静态变量 volatile(共享) 强制 sing 阅读全文
posted @ 2018-08-14 11:50 追梦滴小蜗牛 阅读(303) 评论(0) 推荐(0) 编辑