欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 设计模式面试题

设计模式面试题

2025/4/28 17:32:54 来源:https://blog.csdn.net/m0_50460160/article/details/145354693  浏览:    关键词:设计模式面试题

一、工厂方法模式:

1.简单工厂模式:

(1).抽象产品:定义了产品的规范,描述了产品的主要特性和功能

(2).具体产品:实现或继承抽象产品的子类

(3).具体工厂:提供了创建产品的方法,调用者通过该方法来获取产品

所有产品都共有一个工厂,如果新增产品,则需要修改代码,违反开闭原则,是一种编程习惯,可以借鉴这种编程思路

2.工厂方法模式

工厂方法模式的主要角色:

(1).抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法来创建产品 

(2).具体工厂(Concrete Factory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建

(3).抽象产品(Product):定义了产品规范,描述了产品的主要特性和功能

(4).具体产品(Concrete Product):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应

给每个产品都提供了一个工厂,让工厂专门负责对应产品的生产,遵循开闭原则,项目中用得最多 

3.抽象工厂模式:

工厂方法模式只考虑生产同等级产品,抽象工厂可以处理多等级产品的生产

抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可以生产多个等级的产品。一个超级工厂创建其他工厂,该超级工厂又称为其他工厂的工厂

 

如果有多个维度的产品需要配合生产时,优先建议使用抽象工厂,一般企业开发中使用较少 

二、策略模式:

该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响算法的客户;通过对算法的封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理

策略模式的主要角色如下:

抽象策略(Strategy)类:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。

具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现或行为。

环境(Context)类:持有一个策略类的引用,最终给客户端调用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词