![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
邱柴浪
这个作者很懒,什么都没留下…
展开
-
设计模式之外观模式
外观模式 概念介绍 定义与类型 定义:又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口 外观模式定义了一个高层接口,这个接口使得子系统更容易被访问或者使用 类型:结构型 角色与关系 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J1D0aOsW-1598775944174)(_v_images/20200830160006820_2658.png =599x)] 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3原创 2020-08-30 16:26:49 · 119 阅读 · 0 评论 -
设计模式之原型模式
原型模式 定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 不需要知道任何创建的细节,不需要调用构造函数 类型:创建型 适用的场景 类初始化消耗较多资源(比较重的对象) new产生的一个对象需要非常频繁的过程(数据准备、访问权限等等) 构造函数比较复杂 循环体中生产大量的对象时 另外在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的意图所原创 2020-08-28 23:34:51 · 132 阅读 · 0 评论 -
轻松搞定单例模式以及线程安全等问题
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 定义:保证一个类仅有一个实例,并提供一个全局访问点 类型:创建型 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 适用场景 想确保任何情况下都绝对只有一个实原创 2020-07-05 02:36:18 · 209 阅读 · 0 评论 -
设计模式——建造者模式
建造者模式 定义:将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示 用户只需要指定需要建造的类型就可以得到它们,建造过程及细节不需要知道 类型:创建型 适用场景 如果一个对象有非常复杂的内部结构(很多属性) 想把复杂对象的创建和使用分离 优点于缺点 优点: 封装性好,创建与使用分离 扩展性好,建造类之间独立,一定程度上解耦 缺点: 产生多余的Builder对象 产品内部发生变化,建造者都要修改,成本较大 有人就会有疑问,同样是创建型,构造者模式与工厂模式有什么区别?原创 2020-07-02 17:11:12 · 116 阅读 · 0 评论 -
设计模式——抽象工厂模式
抽象工厂模式 学前可了解:简单工厂模式介绍 工厂方法介绍 定义:抽象工厂模式提供一个创建一系列相关或者相互依赖对象的接口 无须指定它们的具体类 类型:创建型 适用场景 客户端(应用层)不依赖于产品类实例如何被创建、实现的细节 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复代码 提供一个产品类的库,所有的产品以同样的接口出现,从而客户端不依赖于具体实现 优点与缺点 优点 具体产品在应用层代码隔离,无需关心创建细节 将一个系列的产品族统一到一起创建 缺点 规定了所有可能被创原创 2020-06-30 16:47:18 · 118 阅读 · 0 评论 -
设计模式——工厂方法模式
工厂方法模式 学前先了解一下:简单工厂方法的介绍 定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类进行 类型: 创建型 适用场景 创建对象需要大量重复代码 客户端(应用层)不依赖于产品类如何被创建、实现等细节 一个类通过其子类来指定创建哪个对象 优点与缺点 优点: 用户只需要关心所需要产品对应的工厂,无需关心创建细节 加入新产品符合开闭原则,提高可拓展性。 缺点: 类的个数容易多多,增加复杂度 增加了系统的抽象性和理解难度 编码实现工厂方法模原创 2020-06-29 16:48:14 · 113 阅读 · 0 评论 -
设计模式——简单工厂模式
简单工厂模式 定义: 由一个工厂对象决定创建出哪一种产品类的实例 类型: 创建型,但不属于GOF23种设计模式 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何实现创建对象(逻辑)不感兴趣 优点与缺点 优点: 只需要传入正确的参数,就可以获取你所需要的对象而无需知道其具体创建细节 缺点: 工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,违背开闭原则 编码实现简单工厂模式(java) // Video抽象类 public abstract class Vi原创 2020-06-29 16:46:57 · 89 阅读 · 0 评论