命令模式导致类爆炸

Mik*_*ike 6 testing agile command-pattern

似乎每当我使用命令模式时,它总是导致比我不使用它时更多的类.这似乎很自然,因为我们在不同的类中一起执行相关代码块.如果我没有完成10或12个Command子类,我可能会认为这个项目本来只会使用6或7个类,否则不会打扰我.对于通常的7级项目,有19个左右的课程似乎差错了.

真正困扰我的另一件事是测试所有这些Command子类是一件痛苦的事.在我接到最后几条命令之后,我感到迟钝,好像我移动速度慢,不再灵活.

这对你来说听起来很熟悉吗?我做错了吗?我只是觉得我在这个项目的后期失去了敏捷,而且我真的不知道如何以前几天的速度不断地实施和测试.

hvg*_*des 6

设计模式是以通用方式解决问题的通用模板.权衡正是你所看到的.发生这种情况是因为您需要自定义通用方法.不过,12个命令类对我来说似乎并不是很重要.

使用命令模式,希望命令很简单(只是一个执行方法,对吧?),因此很容易测试.此外,它们应该是可以单独测试的,即您应该能够在很少或没有依赖性的情况下轻松地测试命令.

你应该看到的好处是双重的:

1)您应该通过使用您选择的模式简化您的特定复杂方法.即快速变丑的东西现在应该更优雅.

2)由于简化的方法和测试单个组件的简便性,您应该更快.

你可以使用其他模式,如复合,并使用良好的OO设计,以避免重复代码(如果你复制代码......)?