随笔分类 - Java设计模式
发表于 2022-09-27 23:57阅读:608评论:0推荐:0
摘要:命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
阅读全文 »
发表于 2022-09-20 08:50阅读:255评论:0推荐:0
摘要:在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
阅读全文 »
发表于 2022-09-16 13:09阅读:1238评论:0推荐:1
摘要:享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。
阅读全文 »
发表于 2022-09-14 21:54阅读:618评论:1推荐:1
摘要:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
阅读全文 »
发表于 2022-09-12 15:34阅读:472评论:0推荐:0
摘要:组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。
阅读全文 »
发表于 2022-09-11 16:30阅读:400评论:0推荐:2
摘要:装饰者模式是一种结构型模型,是动态的给对象增加职责,对于新增功能来说要比通过子类方式更加的灵活。他允许对一个对象进行添加新的功能,但不能改变结构。
阅读全文 »
发表于 2022-09-09 09:05阅读:671评论:0推荐:3
摘要:桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
阅读全文 »
发表于 2022-09-08 09:22阅读:451评论:0推荐:1
摘要:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。就像电脑/投影仪那种,电脑要通过接线的方式投影,但是在以前的接口都是VGA接口,然而我们的电脑却大多都是HDMI类型的,这就需要转接头来转换接口,于是,这个转接头就充当着适配器的身份。
阅读全文 »
发表于 2022-09-07 08:48阅读:672评论:2推荐:2
摘要:原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
阅读全文 »
发表于 2022-09-06 13:21阅读:526评论:0推荐:1
摘要:单例模式,是java设计模式中最简单的设计模式,是属于创建类型模式。单例模式就是只能有一个实例,即一个类有且仅有一个实例,并且自行实例化向整个系统提供。
阅读全文 »
发表于 2022-09-05 16:27阅读:149评论:0推荐:0
摘要:构建者是一种可以将复杂对象的构建和表示分离开来,从而使得一个构建过程可以生成多个不同的表示对象。建造者模式通过一步一步构建对象。
阅读全文 »
发表于 2022-09-05 11:12阅读:110评论:0推荐:0
摘要:观察者模式又叫发布-订阅(Publish-Subscribe)模式,是对象的行为模式,订阅是表示这些观察者对象需要向目标对象进行注册,这样目标对象才知道有哪些对象在观察它。发布指的是当目标对象的状态改变时,它就向它所有的观察者对象发布状态更改的消息,以让这些观察者对象知晓。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
阅读全文 »
发表于 2022-09-03 18:39阅读:507评论:0推荐:0
摘要:在大多情况下,我们都是用new去实例化对象。但是,有时候有的对象的类别有很多种,又存在着共性,就好比如汽车,有奔驰,红旗,宝马等品牌,如果是一个一个去创建类,那就需要创建很多,因此就需要用到工厂模式。
阅读全文 »
发表于 2022-08-31 13:43阅读:102评论:0推荐:0
摘要:拦截器可以拦截目标方法,进行一系列的操作。也可以取代代理对象的方法等功能。以下代码用JDK动态代理来实现一个拦截器的逻辑。
阅读全文 »
发表于 2022-08-30 13:32阅读:69评论:0推荐:0
摘要:动态代理是指客户通过代理类来调用其它对象的方法,并且是在程序运行时根据需要动态创建目标类的代理对象。动态代理就需要建立真实对象和代理对象关系,再去实现代理逻辑方法。
阅读全文 »
发表于 2022-08-29 17:46阅读:115评论:0推荐:0
摘要:反射的应用机制广泛,能够配置类的全限定名(包名 + 类型名)、方法和参数,完成对象的初始化,并且可以大大增强Java的可配置性,SpringIOC的基本原理就是如此。
阅读全文 »