首页 > 试题广场 >

此设计模式定义一组可选算法,执行逻辑时根据环境选择算法,不同

[单选题]
此设计模式定义一组可选算法,执行逻辑时根据环境选择算法,不同算法产生不同输出结果,则该设计模式为
  • 工厂factory
  • 抽象工厂 abstract factory
  • 策略 strategy
  • 观察者 observer
1. 工厂模式(Factory) - 想象你有一个玩具工厂,它的任务就是生产玩具。工厂模式就像是这个玩具工厂,它的主要作用是创建对象(生产玩具)。比如你有一个 ToyFactory 类,它里面有一个方法可以根据你传入的参数(比如玩具类型)来创建不同的玩具对象(比如 Doll 玩具或 Car 玩具)。但是它并没有涉及到根据不同的情况选择不同的生产方式(算法)来生产玩具,它只是专注于生产对象本身。 2. 抽象工厂模式(Abstract Factory) - 还是以玩具为例,现在假设你有一个更大的玩具集团,它旗下有多个工厂,每个工厂生产不同系列的玩具。抽象工厂模式就像是这个玩具集团的管理层,它负责管理这些不同的工厂(系列)。比如有一个 ToyGroup 抽象工厂类,它可以创建不同系列的玩具工厂,如 DollFactory 和 CarFactory 等。它关注的是如何组织这些不同的工厂来生产相关联的玩具系列,而不是选择不同的算法来生产玩具。 3. 策略模式(Strategy) - 假设你是一个快递员,你有多种送货路线(算法)可以选择。有时候你可能根据交通状况(环境)选择走高速公路,有时候可能选择走小路。策略模式就是这样,它定义了一组送货路线(算法),然后你可以根据实时的交通状况(环境)来选择其中一条路线(算法)来送货,不同的路线(算***导致你到达目的地的时间(输出结果)不同。 4. 观察者模式(Observer) - 想象你在一个社交媒体平台上,你关注了一些人(观察者)。当这些人发布新的动态(被观察对象状态改变)时,你会收到通知并看到他们的新动态(观察者更新自身状态)。观察者模式就是关于这种对象之间的一种一对多的依赖关系,和选择算法没有关系。
发表于 2024-10-24 18:59:44 回复(0)

工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。

策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。

在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。

观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。


发表于 2021-03-24 16:58:21 回复(0)
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。

发表于 2020-02-26 14:11:48 回复(0)