设计是为了什么?
原创
©著作权归作者所有:来自51CTO博客作者kshark的原创作品,请联系作者获取转载授权,否则将追究法律责任
前人写过很多关于设计的文章,主要是从技术层面,讲设计模式、面向对象等等。今天,我从另外一个角度来讲讲。
我们可以使用各种技术、模式、思想来进行软件设计,但是,用这么多的技术、模式、思想进行设计,我们的终极目的是什么?有人说:解耦。又有人说:可重用。还有人说:可扩展。这些听起来都象是答案,但都不是答案。因为,任何活动的目的,都是产生高质量的输出物,而这些输出物,将作为别人开展活动的输入。因此,评价你的活动是否达到目的,是应该看你的输出是否满足了别人的输入,让人家的需求得到了最好的满足。对设计而言,使用各种技术、模式和思想做出来的设计,就是要成为开发人员的输入。那么,你的设计就是要满足开发人员的需求。可是,你知道开发人员的需求是什么吗?
其实,开发人员的需求,简单说,就是写尽可能少、进可能简单的代码。这不仅包括现在写较少、较简单的代码,也包括将来需求变更、功能扩展、接口调整等要写的代码。因此,这才是设计的终极目的。
如果设计非常复杂,本来一个类就能干的事情,非要写一大堆的类,搞成非常复杂的关系,好像是要开发出一个能包打天下、满足50年需求变化的软件。这就让人非常怀疑,这人懂不懂设计?是不是就在这里故弄玄虚,炫耀技术呢?把简单的事情搞复杂,这是设计人员容易犯的毛病。
因此,还是仔细想想开发人员的需求吧,这才是设计的根本目的。
下一篇:组件泛滥的世界

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
学习是为了什么
&n
职场 学习 休闲