"大"话"小"结(1)——如何学习设计模式
来源:互联网 发布:孤岛危机3优化怎么样 编辑:程序博客网 时间:2024/06/06 05:06
学习设计模式也有两个多星期的时间了,还剩下几章,再回首的时候,发现已经开始“忘了”。看来每周一篇总结博客是很及时的,每周回头看看,总结一下。这篇博客那便是脑子积累素材之后的升华篇了。
没有采用“一篇博客介绍一种设计模式”的套路,因为毕竟自己是第一次接触设计模式,更多的是积累的过程,并没有真正的将设计模式运用到自己的系统中,只是在努力吸收“巨人的思想”,等把设计模式变成“我的”的时候,就可以跟大家分享一下自己的独特想法了。
一、学习感受
整个过程我概括为:
不知所云→略有好感→爱不释手
刚接触设计模式的时候,正好开了一次师徒会。我就跟师傅抱怨一天一个设计模式,感觉自己吸收的很慢,感觉文章通篇都在扯闲篇儿的。师傅说,接着看就行了,把代码都实现了。我向来听话啊。。就不声不响的继续了。后来学了几章,慢慢找到了其中的规律,也就略有好感了。
每个设计模式都是按照:
1、是什么
2、何时用
3、怎样用
4、权衡利弊
这样的四个步骤来分析的,抽象出来这样的规律之后,自然就到了爱不释手的阶段了。
二、利用工具
1、面向对象——C#
利用C#可以直观的体现每一个设计模式的意图,有了面向对象的语言基础,才可以体会到设计模式的经典所在,才可以体会到原来编码也可以是一门艺术。
2、形象的理解——UML类图
学习过程中,对于设计模式的理解,类图给我提供了很大的帮助。对于类之间的关系一览无余,也就印证了一句话:千言万语抵不过一张清晰的类图啊。
3、变成自己的——织网,联系生活
能把设计模式用如此诙谐幽默的语言写出来,让我很佩服作者编织知识网的能力,生活中的很多场景,都可以用设计模式来解释。每个小故事都让我这个真正菜鸟,目瞪口呆,赞不绝口。作者真正做到了生活化的学习,把设计模式都变成了自己的理解。
4、实践——系统中的应用
目前也没真正的用设计模式写自己的系统,只是照着书敲作者提供的代码。但是认为学以致用才是目的,以后会根据自己的理解去尽量实现的。
三、初步小结
下面的图是我对设计模式的初步小结,我将对这个图简单的解释一下。
首先设计模式最高的指导思想是:面向对象,接下来应用到软件设计中便体现出了:高内聚,低耦合的思想。面向对象的软件设计同时还支持7大原则,我将这七个原则分为了两个部分,一部分是抽象的体现,一部分是解耦的体现。设计模式是基础原则在特定的场合下的应用,换句话说,设计模式就是围绕这7大原则展开的,不能违背这7大原则的思想。
四、小结
设计模式的初步了解,让我更进一步的踏进了面向对象的世界。对于设计模式的学习还要进行第二遍——总结式的学习,加一些自己的体会。这些设计模式都是前人的经验总结,站在巨人的肩膀上,一遍遍体味着编码的乐趣。
- "大"话"小"结(1)——如何学习设计模式
- 学习设计模式(7)——6大原则
- "大"话"小"结(2)——创建型模式
- 如何学习设计模式
- 如何学习设计模式?
- 如何学习设计模式
- 如何学习设计模式
- 如何学习设计模式
- 如何学习设计模式
- 如何学习设计模式
- 如何学习设计模式
- 如何学习设计模式
- 学习设计模式之禅——6大设计原则
- 学习设计模式之禅——6大设计原则
- 设计模式-如何学习设计模式
- 设计模式--如何学习设计模式
- 学习设计模式:代理模式——洪兴老大不喜欢小布什
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(1)
- Search a 2D Matrix
- 高级电脑操作就是拒绝不确定性--window运行命令大全
- 在主机Ubuntu12.04 上 安装VirtualBox,在VirtualBox上安装 12.04
- 静态库和共享库制作
- SQL Server 查询处理中的各个阶段(SQL执行顺序)
- "大"话"小"结(1)——如何学习设计模式
- 常见排序方法(冒泡排序、选择排序、插入排序、希尔排序和快速排序)
- 接口继承与实现继承
- 从算法的角度去考虑处理海量数据——海量数据处理算法总结
- 使用NSURLProtocol实现UIWebView的离线缓存
- 移植OpenCV-2.4.5编译成功
- openstack入门学习全进程
- UVa1237 - Expert Enough?(枚举)
- cuda glsl opengl 等等之间的关系