是否有任何开源代码,我可以看到一些设计模式,如命令,状态模式正在实际使用。
我理论上已经看到了各种模式的实现,但如果我能看到它的实际用途,它会更有帮助。
目前我正在一个具有工作流程的项目中工作,并且从数据库中提取工作流程中的各个步骤。
这可以通过将工作流程中的每个步骤作为命令,然后使用命令模式来使用命令模式吗?
答案 0 :(得分:2)
这可能很难采取,但严格应用设计模式几乎没有实际用途。正确的解决方案几乎从不仅应用模式;很大程度上取决于编程语言,实际问题和开发人员偏好。
例如,从DB中提取数据的典型Java-OOP方法可能看起来像您所描述的那样,但是使用具有功能可能性的语言的人可能会使用Optional
Monad,但不一定会更糟,但是针对同一问题的完全不同的解决方案。
因此,在你的解决方案中,你应该用优秀设计的一般原则来解决问题,例如DRY,以及编程语言的习惯用语,而不是把所有东西看作钉子(锤子是你想要的模式)使用)。
奇怪的是足够多,过度使用模式对于Java语言来说是典型的,而且你不需要看很多东西,比如像单身经理的工厂经理......