![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 90
王跃坤
算法爱好者/ACMer/前端工程师/软件设计师
展开
-
【设计模式】代理模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4介绍:在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象原创 2021-04-24 17:04:43 · 312 阅读 · 0 评论 -
【设计模式】享元模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5介绍:享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对原创 2021-04-24 16:56:15 · 233 阅读 · 0 评论 -
【设计模式】外观模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5介绍:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。意图原创 2021-04-24 16:47:46 · 224 阅读 · 0 评论 -
【设计模式】装饰模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2介绍:装饰模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其原创 2021-04-24 16:35:25 · 270 阅读 · 0 评论 -
【设计模式】组合模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3介绍:组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。原创 2021-04-24 16:04:11 · 221 阅读 · 0 评论 -
【设计模式】桥接模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5步骤 6介绍:桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。原创 2021-04-24 15:42:10 · 236 阅读 · 0 评论 -
【设计模式】适配器模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5步骤 6介绍:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡原创 2021-04-23 21:17:50 · 387 阅读 · 0 评论 -
【设计模式】原型模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5介绍原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高原创 2021-04-23 20:45:38 · 297 阅读 · 0 评论 -
【设计模式】建造者模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍意图:主要解决:何时使用:如何解决:关键代码:应用实例:优点:缺点:使用场景:注意事项:实现步骤 1步骤 2步骤 3步骤 4步骤 5步骤 6步骤 7步骤 8介绍建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。意图:原创 2021-04-23 17:40:41 · 321 阅读 · 0 评论 -
【设计模式】抽象工厂模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍实现步骤 1步骤 2步骤 3步骤4步骤 5步骤 6步骤 7步骤 8步骤 9介绍抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关原创 2021-04-23 17:03:04 · 344 阅读 · 0 评论 -
【设计模式】工厂模式
23种设计模式全解析(JAVA实现).目录23种设计模式全解析(JAVA实现).介绍:优点:缺点:使用场景:实现步骤 1步骤 2步骤 3介绍:工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如原创 2021-04-19 15:09:44 · 408 阅读 · 0 评论 -
【设计模式】单例模式
目录介绍:注意:优点:缺点:实现:1、懒汉式,线程不安全2、懒汉式,线程安全3、饿汉式4、双检锁/双重校验锁(DCL,即 double-checked locking)5、登记式/静态内部类6、枚举经验之谈:介绍:单例模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。原创 2021-04-19 10:51:29 · 634 阅读 · 0 评论 -
23种设计模式全解析(JAVA实现)
设计模式简介:设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。本系列将通过 Java 实例,一步一步向您讲解设计模式的概念。在开始阅读本系列之前,必须具备基本的 Java 编程的概念。创建型模式:1,单例模式.结构型模式:行为型模式:...原创 2021-04-19 09:07:00 · 2078 阅读 · 0 评论