【重温设计模式】之004抽象工厂模式

【重温设计模式系列源码】 抽象工厂模式 基本原理 含义 抽象工厂模式,即Abstract Factory Pattern,提供一个创建一系列相关或相互依赖对象的接口, 而无须指定它们具体的类;具体的工厂负责实现具体的产品实例。 解决的问题 即工厂方法模式的缺点: 每个工厂只能创建一类产品 组成部分 ...

【重温设计模式】之002简单工厂模式

【重温设计模式系列源码】 简单工厂模式 基本原理 含义 简单工厂模式又叫静态方法模式(因为工厂类定义了一个静态方法)。 在现实生活中,工厂是生产产品的, 同样的,在设计模式中,一个负责生产“对象”产品的类就是工厂类。 解决的问题 将 “类实例化的操作” 和 “使用对象的操作”分开,让使用者不用知道具 ...

无废话设计模式(16)行为型模式--备忘录模式

0-前言 备忘录模式定义:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 这样以后就可以将该对象恢复到原先保存的状态。 1-实现 备忘录模式设计的初衷是用于备份状态。 但是时至今日,它属于过度设计,很鸡肋,实际项目中是基本不会考虑这样使用的。 在该应用场景中,大把简单高效 ...

无废话设计模式(15)行为型模式--观察者模式

0-前言 观察者模式定义:定义了一种一对多的依赖关系让多个观察者对象同事监听某一主题对象。 这个主题对象在状态发生改变时,会通知所有观察者对象,使他们能够自动更新自己; 1-实现 1-1、简单UML图: 1-2、代码实现 //1、Sujcet抽象父类(通知者父类) abstract class Ma ...

设计模式(16) 命令模式

命令模式 适用场景 Redo & Undo 命令模式的优缺点 命令模式 命令模式是对一类对象公共操作的抽象,它们具有相同的方法签名,所以具有类似操作,可以被抽象出来,成为一个抽象的“命令”对象。请求以命令的形式包裹在对象中,并传给调用对象。调用者寻找可以处理该命令的合适的对象,并把该命令传给相应的对 ...

重温四大基础数据结构:数组、链表、队列和栈

前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 数组、链表、队列、栈,是数据结构中最基础的四大结构,数组和链表更是基础中的基础,后续所有复杂的数据结构都是在它们的基础上演变而来的。 本节,我 ...

Java web Cookie详解(持久化+原理详解+共享问题+设置中文+发送多个Cookie)

Java web Cookie详解 啥是cookie? 查询有道词典得: web和饼干有啥关系? 这个谜底等等来为大家揭晓 会话技术 web中的会话技术类似于生活中两个人聊天,不过web中的会话指的是服务器与客户端的交互 一次会话中包含多次的请求与响应,当浏览器给服务器发送请求时会话建立,直到一方断 ...

设计模式(15) 解释器模式

项目中有时会遇到某类问题出现得非常频繁,而且它们的变化也基本上以一些规律性的方式进行变化。对于这类问题,如果编写一个对象类进行处理,随着业务变更,将需要频繁地修改代码、编译、部署。与其反复做这种工作,不如把它们抽象为一个语言(语法定义可能很简单,也可能很复杂),这样就可以极大地增加代码的业务适应性。 ...

无废话设计模式(13)行为型模式--策略模式

0-前言 策略模式定义:定义了算法家族,分别封装起来,让他们之间可以相互替换, 此模式让算法的变化,不会影响到使用算法的客户; 1-实现 1-1、简单UML图: 1-2、代码实现: //1、抽象父类 abstract class Discount { abstract double GetDisco ...

无废话设计模式(12)行为型模式--模板方法模式

0-前言 模板方法模式定义:定义一个操作中的算法骨架,而将一些步骤延迟到子类中; 模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些步骤; 1-实现 1-1、简单UML图: 1-2、代码实现 //1、抽象父类 abstract class TestPhone { public vo ...

无废话设计模式(10)结构型模式--外观模式

0-前言 外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口 这一接口使得这一子系统更加容易使用; 1-实现 1-1、简单UML图: 1-2、代码实现 //1、子系统A(研发部) class DeptDev { public void DoworkD() { System. ...

结构型设计模式总结

结构型设计模式总结 Intro 前面几篇文章已经介绍完了所有的结构型设计模式,来做一个总结 结构型设计模式主要总结了一些类或对象组合在一起的经典结构,这些经典的结构可以解决一些特定应用场景的问题。 结构型模式包括:代理模式、桥接模式、装饰器模式、适配器模式、外观(门面)模式、组合模式、享元模式。 总 ...

设计模式(14) 模板方法模式

模板方法模式 模板方法模式是面向对象系统中非常朴实的一种模式,体现出面向对象设计中继承和多态的基本特征。在开发应用的过程中,往往会在初期规划一些较粗粒度的算法,而且对参与计算的对象进行抽象,明确算法会使用到哪些方法,每个方法可以提供哪些支持,但此时每个方法本身并没有细化;随着开发过程的展开,我们可能 ...

业务网关-配置

配置类图 将项目中的配置聚合在一起,便于管理。 设计 下面是整理之后的与配置相关的数据对象关系图,主要分为后台管理以及网关配置相关。 实现 spring对于属性的注入方面主要有以下2种方式: 单一属性方式,@Value 批量属性方式,@ConfigurationProperties 上面2种方式各有 ...

无废话设计模式(8)结构型模式--组合模式

0-前言 组合模式定义(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。 组合模式使得用户对单个对象和组合对象的使用具有一致性; 1-实现 1-1、简单UML图: 1-2、代码实现: //1、抽象父类(公司父类) abstract class Company { prote ...

无废话设计模式(7)结构型模式--装饰模式

0-前言 装饰模式定义:动态给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 1-实现 1-1、易看的UML图: 1-2、代码实现: //1、演员类(component,直接实现,未抽取父类,可抽取父类) class Actor { public void Act() { ...

<1···101112···200>