摘要: 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 Hospital类 1 package top.bigking.facade; 2 3 /** 4 * @Aut 阅读全文
posted @ 2020-02-22 14:58 ABKing 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 假设一个场景:我们要生产一辆车,所以 阅读全文
posted @ 2020-02-19 23:34 ABKing 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 组合模式(Composite Pattern)将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户可以使用一致的方法操作单个对象和组合对象。 假设一个场景:一个杀毒软件叫ABKing,我们模拟它的杀毒逻辑。首先需要选定一个文件夹吧,然后这个文件夹里的每一个文件都需要被扫描。在Linu 阅读全文
posted @ 2020-02-18 22:46 ABKing 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。 我们假设一个场景:我们需销售电脑,电脑有三种:台式电脑,笔记本电脑 阅读全文
posted @ 2020-02-15 23:30 ABKing 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 代理模式:为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用。 假设一个场景:明星需要出演活动(比如唱歌),那么他需要签合同,收款等工作。但是对于明星来讲,这都是琐碎的事情,而且亲自来做,比较掉价,所以明星们一般都会设置一个代理(也就是经纪人),经纪人负责签 阅读全文
posted @ 2020-02-14 22:22 ABKing 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关 阅读全文
posted @ 2020-02-14 18:23 ABKing 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操 阅读全文
posted @ 2020-02-11 23:23 ABKing 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 在之前的工厂模式中,用户为了获得Car,需要和 阅读全文
posted @ 2020-02-11 14:36 ABKing 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 工厂模式分为: 简单工厂模式 工厂方法模式 抽 阅读全文
posted @ 2020-02-07 16:03 ABKing 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。它的出现是为了节省资源。在Spring中,每个Bean默认就是单例的。在Java,一般常用在工具类的实现或创建对象需要消耗资源。 单例模式: 饿汉式(线程安全,调用效率高,但是,不能延时加载) 懒汉式(线程安全, 阅读全文
posted @ 2020-02-04 17:11 ABKing 阅读(170) 评论(0) 推荐(0) 编辑