设计模式之我见

设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式的学习并不是一朝一夕的事情,需要长期的项目实践和经验的积累才能理解其中的精髓。就如同一句简单的话”越长大越孤单“一样,在不同的成长阶段你对其的理解是不一样。

设计模式是一种思想的学习,没有对错,更多的时候是一种取舍,是一种设计的艺术。

目前,我对设计模式的作用个人总结如下:
1、实现功能,并不是快速实现功能,在实现功能这方面它体现在后期,在功能和需求改变的时候;
2、可以让你快速看懂使用设计模式写的代码;
3、可以快速让懂设计模式的人看懂你的代码;

设计模式一般是面对OO语言的,如C++等。当然没有OO特性的语言也会有自己的设计模式,只不过设计模式在OO语言上发挥的作用更明显。

设计模式并不是教你如何写代码,而是教你一种经验,让你在遇到某种特定情况时,能快速的找到一种解决方案。因为项目需求的改变,你需要对”某种情况“做出准确的分析,满足后期可能出现的变更,这就需要很强的前瞻性和经验。所以设计模式是在项目前期,还未开始写代码时候对代码结构做出的设计。

如果你在看我这篇文章上文所说的作用1,应该与你无关,你很大可能上不会对代码做出一个设计,基本上都是在别人基于设计模式设计好的代码上进行工作,所以你学习设计模式的作用就在于第二点,即快速看懂现有的基于设计模式所写的代码。这个看懂并不是看懂代码的具体的功能实现,而是代码的结构流程。

学习了设计模式之后使你并不在拘泥在设计模式本身的流程。你可以在看到代码中的一些关键字后,很快的了解代码编写人的思路。”一目十行“的看完代码流程,”一目十行“这个词一点都不夸张,甚至在几秒钟看完好几页代码文件。
由于OO语言的多态特性,很多的代码在不了解结构的情况下是很难直接看懂的,所以大部分的时间会使用调试方式找到具体的实现。你看代码从之前先看懂代码结构,直接跳到看到这种设计模式所达到的目的上,变成找你关注的代码。你会专注于具体的功能实现上,大大的提高效率。

设计模式的学习并不难,你可以每天花上一个小时时间来学习一种设计模式。一种设计模式的代码结构你甚至在几分钟就可以掌握,难得是你对这种设计模式精髓的理解。这需要你在了解了这种设计模式之后,慢慢理解,不过知道了代码结构后你就可以得到上述所说的设计模式作用2。

如果你觉得你学了设计模式后,体验到的更多是功能1,那么恭喜你你应该体现了你的工作价值。

如果你觉得你学了设计模式后,体验到的更多是功能3,那么恭喜你你应该体现了你的人生价值。我觉得一个程序员人生价值的体现,在于自己写的代码可以流芳百世,哈哈

声明:针对设计模式以上三点功能的总结仅限于目前自己的经验掌握,或许随着阅历的增加,以后会推翻自己的结论。
由于本人经验所限,不对具体的设计模式进行讲解,网上有很多前人的总结,大家在看某种设计模式的时候要多看几种针对该设计模式的理解,这样才有可能全面的理解这些功能。

猜你喜欢

转载自blog.csdn.net/zhuyinglong2010/article/details/80724071