如何学习设计模式初级篇

来源:互联网 发布:php 子类使用父类属性 编辑:程序博客网 时间:2024/04/20 05:07

 发现很多初学设计模式的人都有一些特点就是学习了某个设计模式之后,貌似理解了,但是却不知道怎么去使用这些所谓的精华经验,苦于不知如何下手。我最初学习设计模式的时候也有类似的经验,我将我的经验分享出来,希望能对初学者有帮助。

        我对设计模式产生兴趣是在大概一年以前,最初看书的时候好像是看懂了,大概知道他在说什么。看了几个模式之后就开始寻找时机来套用套用这些模式。结果是除了Singleton模式以外的其他模式都没有找到应用的场所。然后我就没开始看下去了,我知道再看也没用,但是我并没有放弃对设计模式的关注。

        不久我就在MSDN的Webcast上看到李建忠的 C#面向对象设计模式纵横谈讲座,很不错的系列讲座,让我对设计模式有了新的理解。我意识到学习设计模式,确切的讲是学习面向对象的设计模式,应该从学习面向对象开始。由于之前一年都在做asp.net开发,虽然都是在写类、学着duwamish搞分层架构、搞类型化DataSet、也弄过自定义实体类,但好像一年下来还没怎么用过接口,什么多态也是极少用。事实上对面向对象的编程思想的认识还是很模糊的。

        重新认识OO:面向对象编程是一种思想,以面向对象的思维来思考软件设计结构,从而强化面向对象的编程范式。面向对象的特点是封装,继承,多态。所以从那是开始,当我设计一个类的时候,不断的提示自己以下三点:
第一:别把自己的数据公开,除非你要向别人提供数据,使用尽量低的访问权限。
第二:以一个外部的视角来看类,紧记不要要求别人要在知道你是怎么实现一个方法之后才能使用我的类。
第三:分清类的职责,该这个类做的事情就要在这个类中实现,不该我的类做的事情就让别的类去实现。
在这三点的指导下来写类,写程序开始像在做“设计”了^_^。
一段时间后对设计模式就慢慢有感觉了,并能够找到一些设计模式的应用场景了。并常套用套用那些模式,逐渐的加深对模式的理解,并把它变成自己的东西,能够在其他的地方灵活的用起来。

推荐一篇很不错的文章:Behind the Scenes: Discover the Design Patterns You're Already Using in the .NET Framework
我觉得这篇文章好的地方就是它给了我一些启发作用,通过它我认识到其实设计模式并没有这么遥远。其实最好的学习设计模式的地方就是发掘.net framework,因为我们.net程序员最熟悉的就是framework了,说哪里哪里是使用了设计模式,你马上就会有豁然开朗的感觉。哦,原来设计模式是这样用的~~

http://www.cnblogs.com/PeanutLee/archive/2006/11/20/566540.html
 

原创粉丝点击