![](https://img-blog.csdnimg.cn/20e8232cd51b4bfc92c68b9038eb3166.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 76
详细讲解23种设计模式
爱JAVA的少年闰土
现在的你,是十年前你的决定;十年后的你,是现在的你决定。
种一棵树,最好是十年前,其次是现在,想要改变,从此刻开始,一切还不晚。
星光不问赶路人,时光不负有心人。愿你十年后的今天,不为虚度年华而悔恨,所得皆所愿。我们各自努力,顶峰相见。
展开
-
10.外观模式
外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用;外观模式又称为门面模式,它是一种对象结构型模式;在 JDBC 中就使用到了外观模式。原创 2023-03-06 13:10:42 · 87 阅读 · 0 评论 -
9.组合模式
组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构;组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole) 模式,它是一种对象结构型模式;组合模式主要用于处理树形结构的数据,组合模式通过一种巧妙的设计方案,可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)/*** 公共父类 - 文件类*//*** 添加文件*/原创 2023-03-06 13:08:18 · 228 阅读 · 0 评论 -
8.装饰者模式
装饰器模式(Decorator Pattern)也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式;装饰器模式的核心是功能扩展,使用装饰器模式可以透明且动态地扩展类的功能。原创 2023-03-06 13:06:12 · 461 阅读 · 0 评论 -
7.桥接模式
在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分;如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难;桥接模式就是为了解决这样的问题桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化;它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(interface)模式/*** 手机品牌, 任何品牌的手机都具有。原创 2023-03-03 09:42:19 · 336 阅读 · 0 评论 -
6.适配器模式
将一个类的接口转换成客户希望的另外一个接口;适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作;例如在生活中,我们常常会碰到这样的场景:手机充电需要 5V 的电压,但生活用电是 220V,手机不能直接使用 220V 电压充电,我们就需要一个充电器将电压从 220V 转换为 5V,才能给手机充电;本章以次示例演示不同的适配器模式。原创 2023-03-03 09:29:10 · 302 阅读 · 0 评论 -
5.建造者模式
建造者模式也叫生成器模式,是一种对象构建模式;它可以把复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象;建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容,就可以构建它们,用户不需要知道内部的具体构建细节;原创 2023-03-02 13:31:16 · 199 阅读 · 0 评论 -
4.原型模式
Java 中 Object 类是所有类的根类,Object 类提供了一个 clone() 方法,该方法可以将一个 Java 对象复制一份,但需要实现 clone 的 Java 类必须要实现一个接口 Cloneable,该接口表示该类能够复制且具有复制的能力;原型模式是指用原型示例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节;原型模式主要分为:浅拷贝和深拷贝。原创 2023-03-02 13:21:50 · 282 阅读 · 0 评论 -
3.工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一;这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式;在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象;工厂模式是一种设计思想,让代码扩展性更好,便于二次开发维护,缺点是增加了代码量和复杂度;简单工厂模式,工厂方法模式,抽象工厂模式;简单工厂模式就是创建一个工厂类,根据传入的参数类型来创建具体的产品对象,并返回产品对象的实例;原创 2023-03-02 10:06:49 · 489 阅读 · 0 评论 -
2.单例模式
(1) 由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如:读取配置、产生其他依赖对象时,可以通过在应用启动时直接产生一个单例对象,然后以永久驻留内存的方式解决。即在类装载的时候,就执行静态代码块中的代码,初始化类的实例;而类的装载过程是线程安全的,即保证了线程安全。缺点:如果在多线程下,一个线程还在 if 判断语句块,而另一个线程通过了 if 代码块,就会产生多个实例。加入了双重检查代码,解决了线程安全的问题,同时也解决了懒加载的问题,效率较高。结论:可用于实际开发。原创 2023-03-01 16:15:41 · 294 阅读 · 0 评论 -
1.设计模式简介
2)类 A 通过接口 interface1 依赖类 B,类 C 通过接口 interface1 依赖类 D,如果接口 interface1 对于类 A 和类 C 来说不是最小接口,那么类 B 和类 D 必须实现他们不需要实现的方法。4)依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多;5)使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上。原创 2023-03-01 16:08:42 · 407 阅读 · 0 评论