设计模式
文章平均质量分 81
设计模式
Jesses.
后端开发小学生一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式——建造者模式
建造者模式的定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示分离,使得同样的构建过程可以创建不同的表示。 特征:用户只要指定需要建造的类型就可以获得对象,建造过程及细节不需要了解。 属于创建型模式。 建造者模式的适用场景: 适用于创建对象需要很多步骤,但是步骤的顺序不一定固定的情况。 适用于一个对象有非常复杂的内部结构或者有很多属性的情况。 建造者模式最大的好处就是可以把复杂对象的创建和它的使用进行分离。 ...原创 2021-04-27 09:25:52 · 305 阅读 · 0 评论 -
设计模式学习——原型模式
原型模式的定义 原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 调用这不需要知道任何创建细节,不调用构造函数。 属于创建型模式。 原型模式的使用场景 经常见到这样的代码,大量的getset的赋值: public OrderVO copy(OrderEntity orderEntity){ orderVO.setOrderNo(orderEntity.getOrderNo()); orderVO.setOrderAA(orderEntity.getOrder.原创 2021-04-14 10:04:41 · 199 阅读 · 0 评论 -
设计模式学习——策略模式
策略模式的定义 策略模式是指定义了算法家族,分别封装起来,让它们之间可以互相替换,让算法的变化不会影响到使用算法的用户。 可以避免多重分支的if else 和 switch 语句。 策略模式的适用场景 1.假如系统中有很多类,而它们的区别仅在于它们的行为不同 2.一个系统需要动态地在几种算法中选择一种 示例1 电商经常会在节日做活动,需要根据各种节日选择不同的优惠策略 /** * 优惠策略 */ public interface IPromotionStrategy { ..原创 2021-04-12 15:09:27 · 261 阅读 · 0 评论 -
设计模式学习——委派模式
一、定义及应用场景 委派模式不属于GOF23中设计模式。 委派模式(Delegate Pattern)的基本作用是复制任务的调用和分配任务,与代理模式很像,可以看做一种特殊情况下的静态代理。 但是代理模式注重过程,而委派模式注重结果。 委派模式在Spring中常被应用,比如DispatchServlet中就是用到了委派模式。 二、具体应用 现实中也会有委派模式的场景,比如:老板(Boss)给项目经理(Leader)下达任务,项目经理会根据员工实际情况给每个员工分配任务,在员工完成任务后,再.原创 2021-01-09 09:26:01 · 298 阅读 · 2 评论 -
设计模式学习——代理模式
目标: 1、掌握代理模式的应用场景和实现原理。 2、了解静态代理和动态代理的区别。 3、了解 CGLib 和 JDK Proxy 的根本区别。 4、手写实现定义的动态代理。 定义及应用场景: 生活中的场景比如房屋中介、卖票黄牛、经纪人、快递等,代码中的场景比如事物代理、非侵入的日志监听等,这些都是代理模式的实际体现。 代理模式(Proxy Pattern)是指为其他对象提供代理,从而控制对这个对象的访问。 代理对象在客户端和被代理对象之间起到中介作用。 使用代理模式主要目..原创 2020-07-13 15:20:48 · 261 阅读 · 0 评论 -
设计模式学习——单例模式
单例模式 单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。 单例模式的特点是隐藏其所有的构造方法。 属于创建型模式。 单例模式的适用场景: 确保任何情况下都绝对只有一个实例。 如ServletContext、ServletConfig、ApplicationContext 单例模式的常见写法: 1.饿汉式单例 2.懒汉式单例 一、饿...原创 2021-04-14 10:21:27 · 445 阅读 · 1 评论 -
设计模式学习——工厂模式
一、简单工厂模式(Simple Factory Pattern) 简单工厂模式是指由一个工厂对象决定创建出哪一种产品类的实例。 属于创建型模式,但不属于GOF23钟设计模式。 举个例子,有一个课程接口,一个 Java课程类 继承了课程接口,我们用new创建java课程的的过程: /** * @Description: 课程接口 */ public interface I...原创 2020-03-08 22:11:39 · 142 阅读 · 0 评论
分享