设计模式
文章平均质量分 67
阿福研习社
这个作者很懒,什么都没留下…
展开
-
设计模式--->模版方法模式
设计模式原创 2022-07-25 22:56:45 · 186 阅读 · 0 评论 -
单利模式与多线程
一、为什么使用单利模式 单利:表面的意思就是一个类只能存在一个实例,那我们什么时候会用到单利模式呢? 最常见的有以下几种场景: 1、Windows的Task Manager(任务管理器)就是很典型的单例模式 2、项目中,读取配置文件的类,一般也只有一个对象。没有必要每次使用配置文件数据,每次new一个对象去读取。 3、数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。 4、在Spring中,每个Bean默认就是单例的,这样做的优点是Spring容器可以管理 。 5、在servlet编原创 2021-04-18 13:17:09 · 329 阅读 · 1 评论 -
适配器模式的实现,就这么简单
一、什么是适配器模式 生活中的例子: 手机充电:电源,充电器,手机 通常情况下电源的电压是220V,而市面上不同的手机所需的充电电压可能是10V,20V等等,这个时候充电器就充当一个转换器的角色。就是把电源电压转换成手机需要的电压。 其实适配器模式就是把原本不能在一起工作的设备转换成能一起工作的设备。 适配器中的角色: 需要适配的类(Adaptee),需要适配的类。 ----电源 适配器(Adapter),通过包装一个需要适配的对象,把原有的接口转换成目标接口。--充电器 目标接口(Target),.原创 2020-05-22 22:54:44 · 344 阅读 · 0 评论 -
通俗易懂的讲解一下Java的代理模式如何实现
一、代理模式的基本介绍 何为代理模式呢? 就是为对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象,这样做的好处是可以在目标对象实现的基础上,增强额外的功能操作( 在调用这个方法前做前置处理,调用这个方法后 做后置处理。),即扩展对象的功能(类似明星需要经纪人一个道理,比如明星接广告,那么广告上需要和经纪人商量这事,而不是直接和明星去谈这件事)。 二、代理模式的分类及实现 1、静态代理 静态代理在使用的时候,需要定义接口,被代理对象(目标对象)与代理对象一起实现相同的接口。 具体实现:原创 2020-05-18 22:50:56 · 258 阅读 · 0 评论 -
java学习笔记之原型模式及深浅拷贝
一、原型模式的基本介绍 在聊原型模式之前,我们来思考一个小问题,传统的方式我们是如何克隆对象呢? 那我们以多利羊(Sheep)为例,来说明上述这个问题,具体代码见下面: 多利羊(Sheep) public class Sheep { private String sname; private Date birthday; public Sheep(String sname, Date birthday) { this.sname = sname; ..原创 2020-05-17 15:11:56 · 161 阅读 · 0 评论 -
Java Builder模式,你搞明白了吗?
一、建造者介绍 用户可以不知道产品的构建细节直接可以创建复杂的对象,主要是分离了产品的构建和装配,这样就实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象; 相同的构建器,不同的装配顺序也可以做出不同的对象,这样就实现了的复用性和。 举例说明: 比如我们组建一个造飞船和装配飞船。 建造者:负责建造飞船(建造过程和细节) 装配者:只需要把各个零部件(引擎,轨道窗,发射塔)组装起来做成一个产品,用户只需要和装配者发生关系,获取到自己想要的产品即可。 说明: (1)原创 2020-05-14 22:55:11 · 373 阅读 · 0 评论 -
Java设计模式之工厂模式(Factory Pattern)
前言 这篇文章主要讲述工厂模式,为什么使用工厂模式,工厂模式的种类及创建方式,工厂模式的应用场景等知识点的讲解,让我们一起来学习吧,lets go 1、为什么使用工厂模式 通过工厂模式可以实现创建者和调用者的分离,实现代码之间解耦,依赖。一句大白话就是就是减少类与类之间的依赖关系。 面向对象设计的基本原则: OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭(类似,比如项目中有两个类,现在要实现一个新的功能,而不是去修改原来的两个来,而是需要新创建类是原创 2020-05-13 22:12:12 · 309 阅读 · 0 评论 -
Java设计模式之装饰器模式(Decorator Pattern)
1,什么是装饰模式 动态的为一个类增加新的功能,装饰模式是一种用于代替继承技术的模式,无需通过继承增加子类就能够灵活的扩展新功能。 2、装饰模式的构建 实现细节: Component抽象构件角色: 真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象相同的方式同装饰对象交互。 ConcreteComponent 具体构件角色(真实对象): • io流中的FileInputStrea...原创 2020-05-04 14:02:48 · 734 阅读 · 0 评论