【发布时间】:2017-08-20 11:18:45
【问题描述】:
我正在设计一个问题的解决方案,其中我有一个有分数的项目列表。例如。
Product Score
A 10.4
B 7.4
Z 5.4
D 4.4
C 4.2
H 4.1
G 3.4
BN 32.41
CV 2.3
AV 1.6
FG 10.7
.
.
.
.
........
这些项目必须经过一系列黑盒步骤..
评分项目---->第1步--(重新排名)--->第2步--(重新排名)---->第3步-(重新排名)--->最终结果
每个步骤都会根据产品的类型重新排列一些产品。例如。步骤 1 将确保电子产品进入前 10 名(它将使前 3 名固定的电子产品进入前 10 名)当第 2 步获得此列表时,它必须重新排名但不应该重新排列第 1 步确定的产品但是它应该在对其他人进行排名时考虑它。我在想责任链设计模式。大家觉得呢?
【问题讨论】:
-
从你的描述来看,排名顺序在一定程度上很重要,我认为 CoR 绝对合适。这将使将来添加更多步骤变得容易。
-
我认为设计模式最适合用作处理提议(或现有)设计中特定面向对象问题的方法。由于您仍在探索问题空间,因此在我真正清楚地了解我想如何解决问题之前,我不会太担心这个或那个设计模式。模式可以帮助您创建更好的解决方案,但您必须先通过(或两到五次)才能将自己锁定在任何给定的模式中。
标签: java design-patterns decorator strategy-pattern chain-of-responsibility