一、单例模式的使用场景 1.windows 下的任务管理器以及回收站,整个系统中维护着一个实例 2.网站的计数器,用来达到数据的同步 3.web应用配置对象的读取,使得配置文件成为共享资源 4.数据库连接池对象,主要是节省打开或者关闭连接所引起的效率损耗 5.多线程的线程池设计,使得能够控制线程,方 ...
分类:
其他好文 时间:
2020-07-12 18:45:15
阅读次数:
80
设计模式中的那些工厂 Intro 设计模式中有几个工厂模式,聊一聊这几个工厂模式的各自用法和使用示例,工厂模式包含简单工厂,抽象工厂,工厂方法,这些均属于创建型模式, 所谓创建型模式,就是说这几个设计模式是用来创建对象的。 简单工厂 首先来说一说,最简单的简单工厂 简单工厂模式是由一个工厂对象决定创 ...
分类:
其他好文 时间:
2020-07-12 18:34:21
阅读次数:
80
单例 :单例模式确保一个类只有一个实例,并提供全局访问点,实现单例模式的方法是私有化构造函数,通过getInstance()方法实例化对象,并返回这个实例,并保证在JVM中只有一个实例 单例模式优缺点 优点 1、单例类只有一个实例,不会频繁创建对象 2、共享资源,全局使用,访问速度比较快(只有一个实 ...
分类:
其他好文 时间:
2020-07-12 17:17:47
阅读次数:
67
什么时候需要 对象的创建与使用分离 对于不同类型的产品创建,使用不同的工厂类实现 对象创建难度不同,比如某个service用到dao,dao的实现有redis,mysql,mongodb,创建dao的难度不同,需要的细节不同,如果把创建代码放到service里面,就会显得臃肿难以维护 模式结构 抽象 ...
分类:
其他好文 时间:
2020-07-12 12:41:56
阅读次数:
77
什么时候需要 根据参数不同创建同一父类下不同子类 将对象的创建与对象的使用分离,比如service负责使用dao,而不应该负责创建dao;否则,同一个dao的创建会出现在很多service,一旦需要修改,不仅违背开闭原则,而且改动面很大 模式结构 抽象产品角色:Product 具体产品角色:Conc ...
分类:
其他好文 时间:
2020-07-12 12:29:55
阅读次数:
67
抽象工厂模式 基本介绍 1) 抽象工厂模式:定义了一个interface用于创建相关或有依赖关系的对象簇,而无需 指明具体的类 2) 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。 3) 从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。 4) 将工厂抽象成两层,A ...
分类:
其他好文 时间:
2020-07-12 12:28:48
阅读次数:
54
工厂方法模式 工厂方法模式介绍 工厂方法模式设计方案:将披萨项目的实例化功能抽象成抽象方法,在不同的口味点 餐子类中具体实现。 工厂方法模式:定义了一个创建对象的抽象方法,由子类决定要实例化的类。工厂方 法模式将对象的实例化推迟到子类。 工厂方法模式 工厂方法模式应用案例 披萨项目新的需求:客户在点 ...
分类:
其他好文 时间:
2020-07-12 11:55:09
阅读次数:
51
1. 发起人角色 记录当前时刻的内部状态,并负责创建和恢复备忘录数据,允许访问返回到先前状态所需的所有数据。 OriginatorcreateMemento就是创建一个含有自己内部状态的Memento然后setMemento就是把caretaker里的Memento对象拿出来,还原最初的属性 2. ...
分类:
其他好文 时间:
2020-07-11 23:06:43
阅读次数:
79
目录 1. 单例模式 1.饿汉式 2.懒汉式 2. 工厂设计模式 1. 普通工厂模式 2. 多个工厂方法模式 3. 静态工厂方法模式 3. 建造者模式 4. 适配器设计模式 1. 类的适配器模式: 2. 对象的适配器模式 3. 接口的适配器模式 5. 装饰模式 6. 策略模式 7. 代理模式 1. ...
分类:
编程语言 时间:
2020-07-11 23:04:22
阅读次数:
78
一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石 ...
分类:
编程语言 时间:
2020-07-11 22:41:30
阅读次数:
65