Java命令模式

命令模式的定义: 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。 角色分析:Command :声明执行操作的接口 ConcreteCommand :将一个接收者对象绑定于一...

2019-07-18 18:02:59

阅读数 1

评论数 0

Java责任链模式

现实中,我们会遇到很多需要有流程的事,比如请假审批,请假一天找组长,请假两天找经理,请假三天找老板,如果我们把业务耦合起来,我们会写很多分支语句,这样看起来代码就很冗长,如果使用了责任链模式,那就避免了写很多的if else,审批流程也会解耦。 接下来我们就以请假来作为示例,实现责任链模式: ...

2019-07-18 17:06:36

阅读数 1

评论数 0

Java迭代器模式

面向对象中有一些聚合对象(即一组对象的组合结构,如Java集合、数组等),迭代器模式就是为了不暴露聚合对象的内部结构的情况下,提供顺序访问聚合对象的方式。 迭代器模式:提供一个方法去顺序防问一个集合中的元素,而又不暴露这些元素的内部表示 角色分析: 抽象迭代器 具体迭代器 抽象聚合类 ...

2019-07-18 15:27:45

阅读数 1

评论数 0

Java观察者模式

假设有一种这样的情况,一方被多方实时监控的,一方一旦发生改变,监控他的多方立马就能知道。 在Java设计模式中,这个叫观察者模式,观察者观察被观察者,被观察者改变,立马通知观察者。 每天我们的生活总是会被天气影响,添衣服,减衣服,打伞,都是被天气影响的。所以观察者模式笔者就以天气和各种气象站为...

2019-07-18 11:55:06

阅读数 2

评论数 0

Java模板方法模式

模板,顾名思义,就是定义了做一件事的步骤,比如做一道菜,规定为,先洗菜,再切菜,再烹饪调味,再装盘。 模板就事把上面的做一道菜的步骤定死了,但是具体洗菜怎么洗,切菜怎么切,推迟到子类实现。 为了让说明更清晰我们就以做菜来作为示例,实现模板方法模式。 上代码: 首先要定义一个模板,最好定义模...

2019-07-18 10:16:31

阅读数 1

评论数 0

Java策略模式

策略思想是针对一组算法。 将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。 策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。 角色分析: 抽象策略角色: 这个是一个抽象的角色,通常情况下使用接口或者抽象类去实现。对比来说,就是我们的Comp...

2019-07-17 17:58:47

阅读数 38

评论数 0

Java享元模式

享元模式是为了节省内存的模式 内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的 对象,我们可以通过享元模式,节省内存. 享元模式以共享的方式高效地支持大量细粒度对象的重用。 享元对象能做到共享的关键是区分了内部状态和外部状态。 • 内部状态:可以共享,不会随环境变化而改变...

2019-07-17 17:26:36

阅读数 4

评论数 0

Java组合模式

组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 如果有需求要表示整体和部分的关系,那就使用组合模式: 就以文件白遍历...

2019-07-17 15:32:29

阅读数 5

评论数 0

Java桥接模式

我们都使用过JDBC,JDBC就使用的是桥接模式。DriverManager无论传入的是什么类型的Driver都能通过传入的Driver获取数据库的连接。 实际上桥接模式就是把抽象部分和实现部分分离,是的他们都能独立的变化 我们就以销售员卖产品为例: 销售的是产品,必定要有产品类 pub...

2019-07-17 12:35:29

阅读数 4

评论数 0

Java装饰器模式

Java的装饰器模式是结构型模式的一种,目的是增强被装饰类的功能,在JDK中,IO就使用了装饰器模式。 下面是代码: 人的接口: public interface Human { void run(); } 男人: public class Man implements ...

2019-07-17 11:38:59

阅读数 5

评论数 0

Java适配器模式

适配器模式是一种结构型设计模式。适配器模式的思想是: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 下面是实例代码: 首先是需要适配的源 /** * 需要适配的源 */ public class Adaptee { ...

2019-07-17 11:17:25

阅读数 3

评论数 0

Java门面模式

很多的情况下,我们调用第三方的工具的时候,我们并不需要知道某一个方法是怎么运行的或者具体是怎么实现的,实际上,调用者不需要知道被调用方的具体实现,这就是门面模式。 假象一下,我们开一辆车,如果我们要手动的去打开车盖去启动引擎,然后手动的安上传动轴,然后让引擎的动力传向轮胎,使得轮胎转动,如果我们...

2019-07-17 10:24:59

阅读数 4

评论数 0

Springboot整合JSP---很坑页面路劲很让人纠结

Springboot整合JSP很纠结 上代码: pom.xml依赖配置: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://...

2019-07-16 23:05:28

阅读数 8

评论数 0

Springboot整合freemaker模板引擎

模板引擎有很多,其实就是动态页面静态化,好让百度这样的搜索引擎搜索到 那Springboot怎么整合模板引擎呢 步骤如下: 首先添加maven依赖 <?xml version="1.0" encoding="UTF-8"?&g...

2019-07-16 11:24:11

阅读数 9

评论数 0

Springboot全局异常拦截

在写接口的时候,我们程序出问题的时候,我们总是需要大量的try catch,catch代码块里总是处理各种的异常。 为了减少所写的代码,SpringBoot为我们提供了一个全局的异常处理 下面是代码示例: 首先是pom.xml的配置: <?xml version="...

2019-07-15 22:25:40

阅读数 7

评论数 0

Java构建者模式

当我们要是使用一个复杂的对象(构造起来相当的麻烦)的时候,我们希望不要去关心这个对象是怎么被构建的,那么我们就要使用构建者模式,把使用和构建的工作分开。 角色分析: 1. 抽象的构建者 2. 被构建者 3. 具体的构建者 以构建一辆车为例: 首先我们需要定义规范,定义一样汽车如何构建:...

2019-07-11 17:21:15

阅读数 9

评论数 0

Java抽象工厂模式详解

工厂方法模式有一个缺点,他的一个工厂只能生产一种产品,那么要解决工厂类爆炸,我们就引入的产品族的概念,产品族就是把产品分类, 比如: 大众的汽车厂只能生产大众的轮子、底盘、引擎 奔驰的汽车厂只能生产奔驰的轮子、底盘、引擎 轮子、底盘、引擎分别就属于不同的产品族(轮子族、底盘族、引擎族) 抽...

2019-07-11 16:54:21

阅读数 7

评论数 0

Java实现工厂方法模式,以及对工厂方法模式的见解

工厂方法模式和简单工厂一样是一个很简单易懂的模式,简单工厂是传入不同的参数来获取想要的对象,工厂方法模式就是,一类或者一个产品有一个专门的工厂。 工厂方法模式的角色: 1. 抽象的产品接口 2. 抽象的工厂接口 3. 具体产品 4. 生产具体产品的工厂 下面上代码,以生产汽车为例,我们...

2019-07-11 15:37:08

阅读数 8

评论数 0

Java实现简单工厂,以及对简单工厂的思考

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建 出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 相应的角色: 1. 抽象产品角色 2....

2019-07-11 11:51:01

阅读数 8

评论数 0

cglib动态代理实现,和JDK动态代比较

首先我们看一下cglib是怎么实现动态代理的: 上代码: /** * 被代理的某一个类,注意,没有实现任何的一个接口 */ public class SubjectService { public String doSomethings(String needTool){ ...

2019-07-11 10:22:34

阅读数 7

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭