
设计模式
CoderPOPO
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
工厂模式-简单工厂,工厂方法,抽象工厂
一.简单工厂模式 抽象工厂模式为:根据用户传入参数创建不同对象 简单工厂类图: 首先,定义一个车类产品对象抽象类 public abstract class Car { public abstract void driver(); } 再分别定义其两个子类,一类为宝马车类,一类为奔驰车类,并实现其抽象方法driver() public class BenzCar ex...原创 2019-03-26 22:38:36 · 331 阅读 · 0 评论 -
观察者模式
一.观察者模式 观察者模式:对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,观察者对象收到通知并更新 二.观察者模式-示例朋友圈关注-JDK实现 当我们设置关注某一个人时,ta的朋友圈更新,我们也会收到消息提醒 1.新建一个朋友圈消息类 // 朋友圈消息 public class WechatMessage { // 发朋友圈的名字 ...原创 2019-04-14 01:15:27 · 145 阅读 · 0 评论 -
装饰者模式
一.装饰者模式 装饰者模式:通过构造函数,一直对一个基本类进行装饰. 二.装饰者模式-示例-点餐 我们在点餐时,都是在一份米饭上加不同的东西,鸡肉,香菇,等 1.新建一IOrder接口 public interface IOrder { public int order(); } 2.新建一被装饰类---接下来的所有操作都是在一份米饭上进行的 public class ...原创 2019-04-07 15:18:48 · 189 阅读 · 0 评论 -
原型模式
一.原型模式 原型模式,即克隆模式,主要采用浅克隆和深克隆,两种模式进行,省去创建对象的初始化时间和代码 1.浅克隆 新建一苹果类,有名称以及颜色属性 public class Apple { public Apple(String color, String name) { this.color = color; this.name = nam...原创 2019-04-01 22:20:00 · 181 阅读 · 0 评论 -
适配器模式
一.适配器模式 适配器模式:在不改变旧有代码的实现逻辑的同时,又将原有接口的方法进行增强或转换,去适配新的需求 二.适配器模式-示例 1.新建IDao接口---有增,改,查方法 public interface IDao { public int insert(int id, String name); public int updateById(int id, St...原创 2019-04-07 00:25:27 · 275 阅读 · 0 评论 -
模板模式
一.模板模式 模板模式:就是步骤的复用,将特性化的东西,交给子类去实现. 如果代码中有多段处理逻辑是一摸一样的代码,但却含有着各自特性的地方,就可以将步骤抽象出一个抽象类,将特性化的地方,用抽象方法代替,交由子类去实现各自特性化的东西. 二.模板模式-示例-水果榨汁 比方我们有苹果,西瓜,需要榨汁 1.不采用模板模式 public class LowTest { public...原创 2019-04-06 20:58:21 · 227 阅读 · 0 评论 -
策略模式
一.策略模式 策略模式:根据不同选择,进行不同算法切换 二.策略模式-示例 以游戏中的段位匹配进行示例展示-比如青铜的只能匹配青铜到白银,等 1.不采用策略模式写法 public class Test { public static void main(String[] args) { String level = "青铜"; int num ...原创 2019-04-06 14:30:38 · 198 阅读 · 0 评论 -
委派模式
一.委派模式 委派模式:负责任务的调度和分配任务,也就是当任务下来了,找人干活! 二.委派模式-示例 1.新建一IExecute接口,用于下发命令 public interface IExecute { public void execute(String cmd); } 2.新建一员工A类实现IExecute接口-进行命令的具体实现-只会削苹果 // 该员工只会削苹果 ...原创 2019-04-06 11:48:51 · 677 阅读 · 0 评论 -
动态代理
一.动态代理 动态代理的作用:就是在不破坏已经写好的类的情况下,去增强其中某些方法的功能,比如在调用方法之前或之后,做一些额外的操作.(像权限校验,等) 动态代理的两种实现: 1.根据接口实现的动态代理(JDK) 2.根据类实现的动态代理(CGLIB) 二.JDK中的proxy-使用 1.先创建需要被代理的接口--其中eat()方法 public int...原创 2019-04-05 20:34:01 · 274 阅读 · 0 评论 -
单例模式
一.单例模式概念 单例模式:为在程序运行期间,仅存在唯一实例 构成: 1.私有化构造函数,不允许其被实例化多次 2.提供全局访问点 二.单例模式-懒汉式和饿汉式两种 1.饿汉式:在调用该单例之前,就已经进行了实例化 public class HungrySingleton { private static HungrySingleton hungrySingleton =...原创 2019-03-31 22:35:14 · 203 阅读 · 0 评论 -
各设计模式总结与对比
各设计模式总结与对比 设计模式 总结 应用 工厂模式 将创建对象过程封装 BeanFactoryCalendar 原型模式 复制,克隆 PrototypeBean 单例模式 当前进程内独一无二 ApplicationContextCalendar 适配器模式 兼容转换 AdvisorAdapterHandlerAdapter 装饰者模式 通过构造函数,层层包装 Bu...原创 2019-04-14 18:13:40 · 193 阅读 · 0 评论