我正在尝试使用设计模式,我想知道在以下两种情况下最好的做法是什么:
第一种情况:我想在调用某个执行测试列表的方法后返回并打印一个结果。该列表可以进行排序、过滤等。
结果应该能够给出测试结果、排序方式、使用的过滤器、失败、发生时间等。所有这些都可以/应该是(半)可选的,例如没有过滤器可以用,不然我对任何排序都不感兴趣。也许我只想知道成功的测试,也许不是。
我想到了两种设计模式:工厂方法或复合。恐怕工厂需要很多创作者,而 Composite 可能会做得过火。对其他模式有什么建议,或者为什么一个比另一个更可取?
第二种情况:上面提到的分拣机。可以存在许多不同的分类器(按字母顺序排列,第一次失败等),我不知道如何组织它们。我想在某种 TestSorterCollection 类中声明很多静态排序器,但这很难看。但是,不确定哪种设计模式更好。