Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 设计模式是什么?_Design Patterns - Fatal编程技术网

Design patterns 设计模式是什么?

Design patterns 设计模式是什么?,design-patterns,Design Patterns,这是在我的试卷上。它说识别正确的设计模式。我无法回答那个问题。不管怎样,有人知道正确答案是什么吗 考虑一个场景,在这个场景中,您可以设计并实现自己的数据结构。新的数据结构应该包含列表的行为,并且能够存储任何有效的对象类型。(猫、狗、盒子、汽车、颜色等) 自定义数据结构的用户需要按升序或降序对数据结构中的元素进行排序。此外,它们还应该能够指定用户希望对自定义数据结构中的元素进行排序的方式。(例如:汽车对象可以根据制造年份或价格进行分类)这是一个抽象工厂。常规工厂创建一种类型的具体对象。抽象工厂根据

这是在我的试卷上。它说识别正确的设计模式。我无法回答那个问题。不管怎样,有人知道正确答案是什么吗

考虑一个场景,在这个场景中,您可以设计并实现自己的数据结构。新的数据结构应该包含列表的行为,并且能够存储任何有效的对象类型。(猫、狗、盒子、汽车、颜色等)
自定义数据结构的用户需要按升序或降序对数据结构中的元素进行排序。此外,它们还应该能够指定用户希望对自定义数据结构中的元素进行排序的方式。(例如:汽车对象可以根据制造年份或价格进行分类)

这是一个抽象工厂。常规工厂创建一种类型的具体对象。抽象工厂根据工厂本身的具体实现创建各种类型的具体对象。它不仅关注具体对象,而且关注整个具体对象家族的能力“使它区别于其他创作模式,后者只涉及一种产品对象”(第51页)

还要记住,有三类:

  • 创造性的
  • 结构的
  • 行为的
  • 只是一个有根据的猜测:创意->抽象工厂,结构->轻量级,行为->迭代器


    如果我在什么地方错了,请原谅

    同意,策略是适当的。同意你的意见@chathurabuddi。这些问题围绕定义自定义排序方法展开。通过定义一个经典的IComparsonStrategy,允许调用客户机传入其首选的排序机制,这可以很容易地实现。