![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
风吹哪,哪就凉
努力,加油
展开
-
单例模式
前言:一个简单的学习记录过程,欢迎共同进步单例模式特点:1.私有化构造器2.一次实例化,多次使用一、饿汉式单例类加载的时候就已经初始化,并创建单例对象,属于线程安全。优点:可以直接使用,执行效率高缺点:类加载的时候就初始化,不管用不用都占用着空间,浪费内存。二、懒汉式单例在外部调用的时候再进行初始化双检查锁实现懒汉单例,避免线程安全问题内部类实现懒汉单例,提高性能(最优)...原创 2019-09-20 15:42:26 · 93 阅读 · 0 评论 -
代理模式
一、代理模式的目的1.保护目标对象2.增强目标对象二、代理模式类型静态代理、动态代理三、静态代理其中一种实现逻辑:通过持有被代理对象的引用,在被代理对象执行之前或者之后添加新的处理逻辑,达到增强被代理对象的效果。package com.ns.proxy.staticproxy.demo1;/** * 顶层接口(Person) */public interface Perso...原创 2019-09-23 17:58:23 · 466 阅读 · 0 评论 -
委派模式
作用负责任务的调用和分配任务Demopackage com.ns.delegate;/** * Boss类,啥都不干,只需要给直接下级下达指令 */public class Boss { public void command(String command,Leader leader){ leader.doJob(command); }}p...原创 2019-09-25 10:41:46 · 133 阅读 · 0 评论 -
策略模式
定义策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换应用场景一个系统有很多个类,他们之间的区别就在于他们的行为不同。Demo:模拟简单支付场景package com.ns.strategy;import java.math.BigDecimal;/** * 各种支付方式的顶层抽象接口 */public interface IPayService { vo...原创 2019-09-25 15:36:38 · 134 阅读 · 0 评论 -
模板模式
前言:边动手,边动脑,才能进步,只动手不动脑,一塌糊涂定义又称模板方法模式,定义一个算法的骨架,并且允许子类为一个或多个步骤提供实现,属于行为性设计模式用途用来梳理流程标准化的业务场景应用场景一次性实现一个算法不变的部分,并将可变的部分留给子类去实现Demo1以员工从一家公司离职到另一家公司面试并上班为例(假定必须先离职才能去面试)package com.ns.t...原创 2019-09-26 14:08:52 · 139 阅读 · 0 评论 -
适配器模式
前言:边动手,边动脑,才能进步,只动手不动脑,一塌糊涂定义:将一个接口转化成用户期望的另一个接口,使原本不兼容的类可以一起工作,属于结构型设计模式。适用场景:1.已经存在的类,它的方法和需求不匹配(方法结果相同或相似)2.适配器模式是随着软件维护,由于不同产品,不同厂商造成功能类似而接口不相同的解决方案实际案例:比较旧的软件登录只支持用户名和密码登录,现在在用户名和密码登录...原创 2019-09-26 15:21:27 · 81 阅读 · 0 评论