很多人学习面向对象和设计模式,往往是为了技术而技术,只是学到了形式,很僵化。这都是因为没有把握好技术的目的是为了什么。对于设计来说,他的目的就是为了方便软件开发和软件维护。
不提倡滥用设计,在于设计是和你当前的软件开发需要是相匹配的。对于你这个项目的要求,可能平铺直叙,直观的方式是最有效率的。因为只有你一个人在干,你就没有必要通过设计来分配功能任务给若干个开发人员,没有这种需求,就没有这个设计的必要。又因为你这个项目很小,设计一个高度抽象的架构出来,却只有一个简单的实现,框架的灵活性完全排不上用场,结果设计的成本比你开发的成本要高太多太多,也就没必要了。 除非你是在做教案,才有必要对每一个细节都那么关注,以达到高度的设计要求,日常开发是需要考虑成本的,而设计本身就是成本之一。
况且,设计是有风险的,你不能保证你的设计一定是完美无缺,越复杂的设计,对你的设计能力要求越高,你可有信心驾驭得了?
因此,我提倡要将设计的目的时时刻刻放在心上,你要关注,现在的设计是有否有效提高你的开发效率,提高你以后软件维护的效率,并且应该基于项目的现实,而不是理论上的,理论上任何一个同等耦合性的设计都相同,但是实际上,具体的项目往往也就有少数几个地方的需求经常改变,需要你后期维护而已。
如果你不能估计出这个设计是否对自己有利,那你为何非要不断的苛求完美的设计?这难道不是一种为了设计而设计,走火入魔的行径么?!