关于过度设计、设计不足的思考

翻博客的时候,偶然间发现一个词过度设计,与之想对应的则为设计不足,发散下思维,看看些文章做一些自己的总结。

过度设计

过度设计指的是:设计实现出来的系统臃肿庞大,功能俱全确不好用,特别是那种巨型的ERP系统。分为需求层面上的过度设计和软件实现层面上的过度设计。

需求层面上的的过度设计: 需求上的过度设计即过度解读用户需求, 形成了太多的衍生需求,这些需求是否能够真正帮助用户还是两说. 这些衍生需求是 否需要设计还是丢弃需要权衡。
软件设计层面上的过度设计: 过度的封装、一堆接口和无用的方法、超复杂的xml配置文件,不恰当的框架选型等。造成代码臃肿,难以维护.

设计不足

设计不足: 指的是设计出来的系统复用性差,扩展性不足,不能灵活的应对变化,甚至达不到用户需求.

总而言之,设计不足和过度设计都是设计不当,实际情况下不论是以需求为导向还是前瞻性的需求为导向到应该寻取两者的平衡点,尽量做到设计简洁、实用.