设计模式
文章平均质量分 83
[已停更]记录学习设计模式的过程,但是在更了很多篇之后突然发现已经没有更新的必要了,感觉绕来绕去都是设计模式的基本原则衍生出来的,个人觉得没有必要继续写下去了
仲景
欲速则不达,慢慢来,就是最好的快。
展开
-
Java设计模式——策略模式
简单介绍了策略模式的架构以及一个小的demo原创 2022-07-04 21:14:01 · 372 阅读 · 0 评论 -
设计模式七大原则
发布了很多设计模式的文章结果发现最开始写的设计模式七大原则忘了发布,难受啊……原创 2022-06-20 15:13:05 · 141 阅读 · 0 评论 -
Java设计模式——单例模式
单例模式一、简介单例模式所谓的单例模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类对象只提供一个获取其对象实例的方法(一般都是静态方法)二、分类单例模式大致可以分成饿汉式和懒汉式,饿汉和懒汉的区别在于创建对象的时机。当然,要是按线程安不安全懒汉式还能分成好多种比如双检锁模式、静态内部类模式、枚举模式等下面我们会具体说说各种模式三、饿汉式饿汉式就是在调用方法获取对象之前就已经创建好了对象,不管你用不用,反正我先创建了,所以叫饿汉式代码如下:私有原创 2021-12-11 22:51:29 · 344 阅读 · 0 评论 -
Java设计模式——工厂设计模式
工厂设计模式一、简介都不知道简介要写什么,工厂模式嘛,就是工厂嘛,生产东西的嘛……在Java里面就是用来帮助我们生产对象的咯~~主要作用嘛,大概就是将创建和使用对象拆分减低耦合度吧。二、分类分类的话,大致可以分成3种简单工厂工厂方法抽象工厂这里有一件比较有意思的是,简单工厂是不包含在gof23种设计模式里面的,据说是因为过于简单了,hhhh。三、简单工厂简单工厂模式算是3种工厂模式中最基础最简单的了,用的也是最多的。简单工厂模式具体的思路是这样的:提供一个抽象基类以及若干具原创 2021-12-15 21:27:25 · 478 阅读 · 0 评论 -
Java设计模式——原型模式
一、简介原型模式(Prototype)指的是用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象什么时候可以使用原型模式当一个系统应该独立于它的产品创建、构成和表达时当要实例化的类是在运行时制定时,例如动态装载为了避免创建一个与产品类层次平行的工厂类层次时当一个类的实例只能有几个不同状态组合中的一种时。二、UML类图解释一下图中各个角色Prototype:声明一个克隆自身的接口ConcretePrototype:实现一个克隆自身的操作Client:让一个原型克隆原创 2021-12-16 23:01:56 · 867 阅读 · 0 评论 -
Java设计模式——建造者模式
一、概述没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。建造者模式的宗旨其实就是将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。使用一个抽象的接口来定义对象的构建过程,然后使用具体的子类来实现不同的构原创 2021-12-19 18:47:24 · 289 阅读 · 4 评论 -
Java设计模式——适配器模式
一、概述首先需要介绍一下适配器模式是干什么的将一个类的接口转换成客户希望的另外一个接口。简单的说,适配器模式就是为了使得我们可以通过一定的处理来使用原本不兼容的类进行交互,而这个处理的过程或者说进行处理的类就是我们所说的适配器,适配器的两端就是被适配者与要适配者比较常见的例子就是我们的插座与充电器了,通常我们的插座电压都是额定电压220V,但是我们要给手机充电的话肯定不可能直接220V的,这时候我们就需要一个插头来将插座的220V转换成适合我们手机的电压,在这里面手机就要我们的被适配者,而插座就原创 2021-12-25 22:02:38 · 1178 阅读 · 2 评论 -
Java设计模式——桥接模式
一、概述桥接模式主要是将抽象和实现解耦,使得两者都可以独立变化在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难。不同颜色和字体的文字、不同品牌和功率的汽车桥接将继承转为关联,降低类之间的耦合度,减少代码量试想一下,以手机为例,手机有翻盖式的,有推拉式的还有直板式的,而手机的品牌又多种多样,如果我原创 2022-01-12 23:57:23 · 1534 阅读 · 0 评论 -
Java设计模式——装饰器模式
一、概述装饰模式可以在不改变一个对象本身功能的基础上增强或增加某些功能,举个例子,就相当于武侠小说里的内功,同样都是降龙十八掌,因为降龙十八掌属于外功,所以可能学了九阳真经的人和没有学九阳真经的人使用起来的威力必然是不相同的。就好像倚天屠龙记里,阳顶天的乾坤大挪移必然没有张无忌的厉害。正经一点的解释是这样子的:装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。装饰模式是一种用于替原创 2022-04-24 22:48:32 · 3757 阅读 · 2 评论 -
设计模式——外观模式
一、概述外观模式,又叫做门面模式。外观模式将一个系统中的每一项称为一个子系统,为这一组子系统提供一个高层接口,这个接口可以使得这一子系统更加容易被人使用。通俗的来讲就是,将一系列的行为封装为一个接口,在这个接口中统一来调用这些行为,这样在程序员使用的时候就不需要一个一个接口的调用,而只需要调用统一的接口就可以了,以此来降低一整个流程的复杂度。但是我们需要注意的是,并不是说,我们只对外暴露一个统一的接口,而细节要全部隐藏,其实Facade只是为了方便一般用户调用,但是我们有特殊的需求需要访问某个或者某原创 2022-04-25 22:08:32 · 2434 阅读 · 0 评论 -
设计模式——组合模式
一、概述组合模式:将对象组合成树形结构来表示“整体-部分”的层次结构组合模式其实很简单,就类似于我们经常在SQL中简单的自连接一样,还有数据结构中的链表、二叉树,其实都可以用组合模式来解释,个人感觉官方的定义甚至还显得更加晦涩难懂了。而且通常我们使用中并不会在意是不是叶子结点,通俗的说就是一个对象既可以代表根节点又可以代表叶子结点。二、角色职责与UML2.1 角色与职责Component为组合中的对象声明接口在适当的情况下,实现所有类共有接口的缺省行为声明一个接口用于访问和管理Co原创 2022-05-03 00:04:38 · 283 阅读 · 0 评论 -
Java设计模式——代理模式
本文主要阐述了代理模式的UML结构图以及JDK动态代理和Cglib动态代理的简单使用以及区别原创 2022-06-18 18:20:43 · 276 阅读 · 2 评论 -
Java设计模式——享元模式
享元模式的UML类图以及代码简单实现原创 2022-06-18 20:08:52 · 1673 阅读 · 2 评论 -
Java设计模式——模版方法模式
介绍了模版方法的定义、UML类图和解释,最后附上简单的例子原创 2022-06-20 17:36:05 · 610 阅读 · 1 评论