`

最常用的12种设计模式

阅读更多

1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换.

比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的.

2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责.

比如java.io包. BufferedInputStream封装了FileInputStream, 它们都实现了InputStream接口, 但前者实现了readLine方法.

3.代理模式(Proxy): 为其他对象提供一种代理以控制对这个对象的访问.

比如在用户登录时, 真正的登录类和代理登录类都实现了Login接口, 不同的是Proxy类的方法中增加了用户是否合法的判断, 只有合法时才去调用真正登录类的login方法. 用户访问的其实是Proxy的login方法.

4.工厂模式(Factory): 定义一个用以创建对象的接口, 让子类决定实例化哪个类.

当遇到需要根据某个前提条件创建不同的类实现时, 会实用工厂模式.

5.模板模式(Template): 定义一个操作中的算法骨架, 而将一些步骤延迟到子类中.

比如HibernateTemplate, 在Template中已经定义了Connection开关的实现, 用户只需要在子类中根据不同的业务写不同的sql.

6.外观模式(Facade): 为子系统中的一组接口提供一个一致的界面.

一直在用, 比如DBUtil, 将所有数据库对象封装了, 只留了DBUtil.getDBUtil()这个接口.

7.建造者模式(Builder): 将一个复杂对象的构建与它的表示分离.

8.观察者模式(Observer): 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.

比如ServletContextListener, 在applcation启动时, 会通知所有这个接口的实现类.

9.抽象工厂模式(Abstract Factory): 提供一个创建一系列相关或相互依赖对象的接口, 而无需指定它们具体的类.

10.适配器模式(Adapter): 将一个类的接口转换成客户希望的另一个接口.

11.单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局控制点.

比如在加载配置文件时, 可使用该模式.

12.命令模式(Command): 将一个请求封装成为一个对象,  使可以用不同的请求对客户进行参数化.

比如Struts的MVC结构, 其实就是个Command模式.

分享到:
评论

相关推荐

    12种设计模式

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是经过时间考验、可重用的解决方案,它们描述了在特定上下文中如何设计对象和类之间的关系,以提高代码的可读性、可维护性和灵活...

    五种常用的Java设计模式

    五种常用的Java设计模式 Java设计模式是软件开发中的一种重要概念,主要用来解决软件设计中的一些问题。下面将总结五种常用的Java设计模式,分别是单例模式、工厂模式、建造模式、_observer模式和迭代器模式。 ...

    c#几种常用的设计模式

    以下是对标题和描述中提到的几种常用C#设计模式的详细解释: 1. **单例模式(Singleton)**: - 单例模式确保一个类只有一个实例,并提供全局访问点。在C#中,通常通过私有化构造函数和静态成员来实现。这样可以...

    C#面向对象设计模式纵横谈 12种设计模式

    在编程领域,设计模式是解决常见问题的经过验证的、可重用的解决方案。C#作为面向对象的语言,设计模式的应用对于开发高效、可维护的软件至关重要。本篇将深入探讨12种核心的设计模式,它们是:单例模式、工厂模式、...

    常用的5种设计模式介绍

    设计模式概述和五种常用设计模式详解 设计模式是一种通用的解决方案,用于解决软件设计中常见的问题。它们提供了一种灵活、可维护、可扩展的设计方法,能够提高软件的质量和可维护性。在软件设计中,设计模式扮演着...

    23种设计模式整理pdf

    设计模式详解 设计模式是软件开发中的一...在本文中,我们对23种常见的设计模式进行了整理和解释,每种模式都有其优点和缺点,开发者可以根据实际情况选择合适的设计模式,以提高代码的可重用性、可维护性和可扩展性。

    23种面向对象设计模式

    面向对象设计模式是软件开发中的一种重要思想,它通过总结和提炼在软件设计过程中常见的问题和解决方案,形成了可复用的设计规范。标题提到的“23种面向对象设计模式”涵盖了设计模式的主要分类,这些模式在Java、...

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    Java之23种设计模式解析

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结和最佳实践。本资源“Java之23种设计模式解析”源自尚硅谷教育机构,由宋红康老师主讲的“玩转Java”系列课程。这份资料详细介绍了...

    C++ 23种设计模式1

    设计模式是经过时间和实践验证的解决方案,它们针对常见的编程问题提供了一套标准的模板,使得开发者能够更高效地编写可复用、可维护的代码。以下是针对23种设计模式的概述,以及C++中的实现。 **创建型模式**关注...

    12种设计模式源码

    本资源包含的12种设计模式源码涵盖了多种常见且实用的模式,对于初学者来说,是深入理解设计模式的绝佳资料。 1. **适配器模式(Adaptor Pattern)**:这种模式用于将两个不兼容的接口进行适配,使得原本不能一起...

    12种常用设计模式代码实现

    在给定的压缩包文件中,包含了12种常用的设计模式的代码实现,这些都是面向对象编程中的核心概念,对于提升代码质量、可维护性和可扩展性至关重要。接下来,我们将逐一探讨这些设计模式及其应用。 1. **策略模式**...

    浅析23种软件设计模式

    下面我们将对23种常见的软件设计模式进行浅析。 1. 工厂模式:工厂模式的主要思想是将客户类和工厂类分开,客户类可以向工厂类请求某种产品,而工厂类则负责生产该产品。这种模式的优点是客户类无须修改就可以接纳...

    23种设计模式(C++).pdf

    《设计模式精解-GoF 23 种设计模式解析附 C++实现源码》是一本深入探讨软件设计模式的书籍,它涵盖了创建型、结构型和行为型三种主要类型的23个经典设计模式,并提供了C++语言的实现代码。设计模式是软件工程中的...

    java常用23中设计模式

    总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元...

    java之23种设计模式完整代码

    设计模式是经过时间考验的解决方案模板,用来解决常见的软件设计问题。在Java中,这23种设计模式分为三大类:创建型、结构型和行为型。 1. **创建型设计模式**: - **单例模式**:确保一个类只有一个实例,并提供...

    几种设计模式的理解设计模式理解

    设计模式是软件开发中的一种重要概念,用于解决常见的设计问题并提供可复用的解决方案。以下是对几种设计模式的详细理解和应用。 1. 工厂模式 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在这...

    JAVA常用设计模式

    JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式JAVA常用设计模式

    设计模式(包含5个设计模式)含源代码报告.rar

    在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。这个压缩包文件"设计模式(包含5个设计模式)含源代码报告.rar"显然是一份宝贵的资源,它涵盖了五个核心的设计模式,并附带了详细...

    六种微服务架构的设计模式.pdf

    聚合器微服务设计模式是最常用和最简单的微服务架构设计模式。在这种模式下,聚合器服务调用多个服务来实现应用程序所需的功能。它可以是一个简单的Web页面,将检索到的数据进行处理和展示。它也可以是一个更高层次...

Global site tag (gtag.js) - Google Analytics