
设计模式
文章平均质量分 85
java软件设计模式
Daylan Du
软件工程专业,主要研究JAVA后端。对数据库,操作系统,spring系列框架等有一定的了解。努力学习编程知识,争取不搬砖!
展开
-
彻底理解观察者模式
定义:观察者模式(observer)又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。...原创 2022-08-08 16:40:48 · 229 阅读 · 0 评论 -
彻底理解策略模式
策略模式(strategy)的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。...原创 2022-08-08 16:38:52 · 185 阅读 · 0 评论 -
彻底理解装饰模式
通常可以使用继承来实现功能的扩展,如果这些需要扩展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。装饰者与被装饰者拥有,继承的目的是继承类型,而不是行为。。这样可以将被装饰者的子类实例对象传入装饰者子类的实例对象中,。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(OCP)。......原创 2022-08-08 11:28:11 · 282 阅读 · 0 评论 -
彻底理解适配器模式
适配器模式(Adapter Design Pattern)。这个模式就是用来做适配的,将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。(例如,现在有些手机只有一个Type-C接口,不能直接插入圆孔的有线耳机,这个时候就需要一个转接头将手机和耳机相连接,而适配器就相当于转接头)。适配器模式的分类:类适配器:类适配器使用继承关系来实现;对象适配器:对象适配器使用组合关系来实现;接口适配器:接口适配器适用于不需要实现接口中所有方法的情况...原创 2022-08-08 11:23:11 · 191 阅读 · 0 评论 -
彻底理解代理模式
代理模式的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。本文章详细介绍了动态代理模式中的JDK动态代理和CGLIB动态代理,并对三种代理模式进行了比较......原创 2022-08-08 11:19:49 · 1313 阅读 · 0 评论 -
彻底理解建造者模式
事实上,在平时编写代码时,我们通常都会忽略对象的复杂性,优先考虑使用工厂模式创建对象,而不是建造者模式。因为工厂模式和建造者模式的作用都是创建一个产品对象,相对于建造者模式来说,工厂模式没有抽象建造者和指挥者,所以结构更加简洁直接,因此更常使用。(Director):调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。这样做可以使产品表示与创建之间的联系更加紧密,结构更加紧凑,同时使得建造者模式更加简洁。,由它负责该产品的组装创建,...原创 2022-08-04 21:33:28 · 224 阅读 · 0 评论 -
彻底理解工厂设计模式
在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了,彻底和对象解耦,如果要更换对象,直接在工厂里更换该对象即可,达到了与对象解耦的目的;。...原创 2022-08-04 19:46:36 · 1182 阅读 · 0 评论 -
彻底理解单例设计模式
单例模式(Singleton Pattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象本文章详细讲解了实现单例模式的方式:饿汉式和懒汉式以及它们各自的实现,着重讲解了通过反射和序列化反序列化破坏单例模式的原理,讲解了为什么通过枚举创建单例是安全的......原创 2022-08-04 12:21:51 · 1441 阅读 · 0 评论