最近,我使用了大量的Strategy模式和Factory模式。我的意思真的很多。我有很多基于参数检索算法的“算法”和工厂。尽管代码看起来具有很强的可扩展性,但拥有N个工厂似乎有点滥用。
我知道这是非常主观的,我们在没有看到代码的情况下说话,但是这在现实世界的代码中是可以接受的吗?你会做些改变吗?
发布于 2009-06-09 12:35:59
好的--问自己一个问题。这个算法实现会改变吗?如果不是,则删除该策略。
发布于 2009-06-09 13:14:34
I am maintence.
我曾经被迫(被我的模式爱好者)使用C++中的AbstractFactory和双DAO模式(没有反射,没有代码生成)编写了一组16个“缓冲区解释器tuxedo服务”。总共大约有20,000行代码,这是我见过的最讨厌的代码(尤其是因为我刚开始的时候并不真正了解C++ ),而且花了大约三个月的时间。
自从我的老老板离开后,我用好的“直上直下”的过程化风格的C++重写了它们,加上几个时髦的宏……每个服务就像60行代码,乘以16……所有的代码都少于1000行真正的简单的代码;如此简单以至于我都能理解它。
干杯。基思。
发布于 2009-06-09 12:38:54
每当我以这种方式实现代码时,我都会问一些问题:
这一切都驱动了我如何构造对象或组件(通过工厂)以及如何实现算法。上面是模糊的,但(当然)需求也同样难以确定。在没有看到你的实现和需求的情况下,我不能做进一步的评论,但上面的内容应该可以作为一些指导原则,帮助你确定你所做的事情是否过度。
https://stackoverflow.com/questions/969802
复制相似问题