Java基础教程(19)-设计模式简述

2024-05-10 08:21:13 浏览数 (2)

设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。

设计模式把一些常用的设计思想提炼出一个个模式,然后给每个模式命名,这样在使用的时候更方便交流。

23个常用模式分为创建型模式、结构型模式和行为型模式三类

创建型模式关注点是如何创建对象,其核心思想是要把对象的创建和使用相分离,这样使得两者能相对独立地变换。

创建型模式包括:

工厂方法:Factory Method 抽象工厂:Abstract Factory

建造者:Builder

原型:Prototype

单例:Singleton

工厂方法:

工厂方法是指定义工厂接口和产品接口,但如何创建实际工厂和实际产品被推迟到子类实现,从而使调用方只和抽象工厂与抽象产品打交道。 实际更常用的是更简单的静态工厂方法,它允许工厂内部对创建产品进行优化。

调用方尽量持有接口或抽象类,避免持有具体类型的子类,以便工厂方法能随时切换不同的子类返回,却不影响调用方代码

抽象工厂模式是为了让创建工厂和一组产品与使用相分离,并可以随时切换到另一个工厂以及另一组产品;

  • 生成器模式(Builder)是使用多个“小型”工厂来最终创建出一个完整对象。
  • 原型模式是根据一个现有对象实例复制出一个新的实例,复制出的类型和属性与原实例相同。
  • 单例模式(Singleton)的目的是为了保证在一个进程中,某个类有且仅有一个实例

结构型模式主要涉及如何组合各种对象以便获得更好、更灵活的结构。虽然面向对象的继承机制提供了最基本的子类扩展父类的功能,但结构型模式不仅仅简单地使用继承,而更多地通过组合与运行期的动态组合来实现更灵活的功能。

结构型模式有:

适配器

桥接

组合

装饰器

外观

享元

代理

  • Adapter模式可以将一个A接口转换为B接口,使得新的对象符合B接口规范。
  • 装饰器(Decorator)模式,是一种在运行期动态给某个对象的实例增加功能的方法
  • 外观(Facade)模式是为了给客户端提供一个统一入口,并对外屏蔽内部子系统的调用细节
  • 享元模式的设计思想是尽量复用已创建的对象,常用于工厂方法内部的优化。
  • 代理模式 为其他对象提供一种代理以控制对这个对象的访问。

行为型模式主要涉及算法和对象间的职责分配。通过使用对象组合,行为型模式可以描述一组对象应该如何协作来完成一个整体任务。

行为型模式有:

责任链

命令

解释器

迭代器

中介

备忘录

观察者

状态

策略

模板方法

访问者

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞