Design patterns 有人能回答给定的场景吗?I';I’我一直试图理解,但完全被卡住了

Design patterns 有人能回答给定的场景吗?I';I’我一直试图理解,但完全被卡住了,design-patterns,architecture,software-design,Design Patterns,Architecture,Software Design,考虑以下每个场景,并确定最直接解决所述问题的设计模式。简要说明你的理由 您已经开发了列表接口的新实现,并且希望测试新数据结构的行为。您已经编写了一个算法来执行速度测试,但是该算法需要为list类生成大量实例。您希望对照ArrayList和LinkedList的性能来测试列表的性能,但不希望为了能够创建正确类型的列表进行测试而必须编写算法三次 您已经完成了一个新语言的编译器!编译过程有很多部分:解析、转换、汇编代码生成等等。您希望允许其他程序员使用接口来编译代码,而无需求助于系统调用或其他命令行调

考虑以下每个场景,并确定最直接解决所述问题的设计模式。简要说明你的理由

您已经开发了列表接口的新实现,并且希望测试新数据结构的行为。您已经编写了一个算法来执行速度测试,但是该算法需要为list类生成大量实例。您希望对照ArrayList和LinkedList的性能来测试列表的性能,但不希望为了能够创建正确类型的列表进行测试而必须编写算法三次


您已经完成了一个新语言的编译器!编译过程有很多部分:解析、转换、汇编代码生成等等。您希望允许其他程序员使用接口来编译代码,而无需求助于系统调用或其他命令行调用—您的编译器可以在其进程中运行—但您不希望这些用户必须知道如何将所有编译步骤结合在一起才能使用您的编译器。

只要简单地检查一下现有的设计模式(它们并不多),就可以确定哪一种模式对应于给定的场景

第一种情况是,算法在内部创建同一类的多个实例,以测试性能,因此您希望避免多次编写算法,只更改要创建的列表的类名

只有通过这个简短的分析,你才能知道我们谈论的是一个,因为我们处理的是对象创建

如果您完成了消除,您可以看到该模式正适合此场景,因为您希望创建多个具体类的对象,这些对象实现相同的接口(
List

第二个场景似乎更多地映射到了,因为它依赖于您设计编译器逻辑接口(API)的方式

如果您检查设计模式(在此结构类中),您可以看到它确实映射到用例:

facade模式(也称façade)是面向对象编程中常用的软件设计模式。与建筑中的门面类似,门面是一个对象,用作正面接口,屏蔽更复杂的底层或结构代码


这是作业吗?非常感谢你,科斯敏。非常感谢,不用担心!如果你认为这个答案有用,请将其标记为已接受