
设计模式-java
文章平均质量分 95
被拯救的威尼斯
这个作者很懒,什么都没留下…
展开
-
设计模式-结构型-11-代理模式
代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象。优点:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。适用场景:被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。不同形式静态代理动态代理:JDK 代理、接口代理Cglib 代理:可以在内存动态的创建对象,而不需要实现接口,它是属于动态代理的范畴静态代理在使用时,需要定义接口或父类,被代理对象(即目标对象)与代理对象共同实现相同的接口或继承相同的父类。原创 2024-09-18 15:24:41 · 1001 阅读 · 0 评论 -
设计模式-结构型-10-享元模式
1)享元模式(Flyweight Pattern)也叫蝇量模式:运用共享技术有效地支持大量细粒度的对象2)常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个3)享元模式能够解决重复对象的内存浪费的问题。当系统中有大量相似对象,需要缓冲池时,不需总是创建新对象,可以从缓冲池里拿。这样可以降低系统内存,同时提高效率。原创 2024-08-20 08:07:35 · 758 阅读 · 0 评论 -
设计模式-结构型-09-外观模式
外观模式(Facade),也叫过程模式(或门面模式)外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节,这个接口使得这一子系统更加容易使用原理类图原理类图的说明(外观模式的角色)● 1)外观类(Facade):为调用端提供统一的调用接口,外观类知道哪些子系统负责处理请求,从而将调用端的请求代理给适当子系统对象● 2)调用者(Client):外观接口的调用者。原创 2024-07-26 11:15:23 · 956 阅读 · 1 评论 -
设计模式-结构型-08-组合模式
1)组合模式(Composite Pattern),又叫部分整体模式。它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系2)组合模式依据树形结构来组合对象,用来表示部分以及整体层次3)这种类型的设计模式属于结构型模式4)组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象对原理结构图的说明一即组合模式的角色及职责1)Component:这是组合中对象声明接口。在适当情况下,实现所有类共有的接口默认行为,用于访问和管理。原创 2024-07-03 11:44:05 · 1317 阅读 · 0 评论 -
设计模式-结构型-07-装饰者模式
1)装饰者模式:动态地将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰者模式体现了开闭原则(OCP)2)这里提到的动态的将新功能附加到对象和 OCP 原则,在后面的应用实例上会以代码的形式体现,请同学们注意体会原理。原创 2024-06-28 20:00:00 · 788 阅读 · 0 评论 -
设计模式-结构型-06-桥接模式
桥接模式(Bridge模式):一种结构型设计模式:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展举个例子说明下:对于手机来说,我们可以根据手机品牌分类,也可以根据手机类型来分类。原创 2024-06-18 10:24:59 · 925 阅读 · 0 评论 -
设计模式-结构型-05-适配器模式
1)适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)2)适配器模式属于结构型模式3)主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。原创 2024-06-13 17:56:58 · 823 阅读 · 0 评论 -
设计模式-创建型-04-建造者模式
1)建造者模式(Builder Pattern)又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象2)建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。原创 2024-06-12 08:46:50 · 1334 阅读 · 0 评论 -
设计模式-创建型-03-原型模式
1)原型模式(Prototype 模式)是指:用原型实例指定创建对象种类,并通过拷贝原型创建新的对象2)原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节3)工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即对象.clone()4)形象的理解:孙大圣拔出猴毛,变出其它孙大圣。原创 2024-06-11 08:30:50 · 1039 阅读 · 0 评论 -
设计模式-创建型-02-工厂模式
通过上述例子,帮助我们体会到两者各自适用的使用场景,不难发现工厂方法模式和抽象工厂模式之间的区别生产的产品种类只有一种,但是该产品种类会不断地扩展新的具体产品,同时需要添加对应的具体工厂,这时使用工厂方法模式更好生产的产品种类会有多种,种类基本固定下来了,不会轻易更改或添加,但是每个种类的具体产品会不断扩展,并在具体工厂中形成新的组合,这时使用抽象工厂模式更好试想一下,如果对上述种菜和做手机使用的工厂模式进行交换,即种菜使用抽象工厂模式、做手机使用工厂方法模式又会怎样?原创 2024-06-06 11:18:36 · 737 阅读 · 0 评论 -
设计模式-创建型-01-单例模式
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。原创 2024-06-05 08:42:59 · 952 阅读 · 0 评论 -
设计模式-00-简介
1)第1层:刚开始学编程不久,听说过什么是设计模式2)第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道3)第3层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的模式挺好用的4)第4层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处5)第5层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来1)设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验。原创 2024-06-04 14:07:03 · 1195 阅读 · 0 评论