<b>计划情势的解析和实现(C++)之二十一-结束篇</b>[VC/C++编程]
本文“<b>计划情势的解析和实现(C++)之二十一-结束篇</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一个月下来,把常见的20个计划情势好好复习并且一一用C++实现了一遍,收获还是很大的,很多东西看上去懂得了但是真正着手去做的时刻发现其实还是不懂得--我深知这个原理,于是不敢怠慢,不敢写什么所谓的注释原理的伪代码,不敢说所谓的"知道原理便可以了"....因为我知道,我还还没有资格说这个话,至少关于计划情势而言我还是一个初学者,惟有踏实和实干才能渐渐的掌握到知识.
在我学习计划情势的历程中,认为造成理解艰难的主如果以下几点,谈一下自己的领会,但愿对他人有帮忙,不要走上我的老路上,毕竟我花了N长的时间才敢号称自己入门了~~!!-_-:
1)Gof并不合适于初学者.初学计划情势的普通都是从Gof入门开始学习的,不幸的是,这不是一本好的教科书,而把这本书称为一本奠基了计划情势理论底子的开山之作大概好一些,它把这些散落在各个计划中的常见情势汇集起来,此后开始有了一个名词叫做"Design Pattern".说这本书不是一本好的教科书主如果以下的几个缘由:a)对计划情势大概说面向对象里面的一些原则性的东西注释的不够多不够完好,比方"面向接口编程而不是对实现编程","优先采取组合而不是担当"等等,以至于背面看到各个情势的实现的时刻很多情势看起来很类似却找不到辨别和共性的地方. b)对各个情势的注释大概举出来的例子不是分外的好,大部份都是为了讲授情势而讲授,没有加入前面提到过的一些基本原则的考量在里面,也就是说:原理性的东西和实现(各个计划情势)脱节.
2)初学者对语言大概说一些概念理解的不好.拿C++来说,为了做到面向对象需求供应的语言上的支持有担当,多态,封装,虚函数,抽象等等,我从前初学C++的时刻,只为了学这些概念而去学习,不知道为什么要供应这些特点,这也是造成我走弯路的重要缘由之一.当然,期望一个初学者在初学语言的时刻就知道why是一件很艰难的事情,大概结合着对计划情势的理解可以帮忙你消化这些概念(我就是这样的).
3)看不懂UML构造图和时序图,UML图注释的类与类之间的关系,时序图注释的是各个对象的实现方法,二者结合在一同看才能加深对计划情势的理解,事实上,我目前已经可以做到仅仅看这两个图示就掌握一个情势的原理和实现了.
4)写的代码和参与过的项目不够多.计划情势和很多东西的产生历程都是一样的,首先人们碰到了问题,然后很多人办理了这个问题,于是渐渐的有人出来总结出办理这些问题所要服从的一些原理和常用办法(我们称之为"情势"),长此以往就形成了一个理论大概说一个学科.此后人在报告这些理论的时刻大都是照本宣科,这关于计算机这样一个夸大实践的学科大概说关于计划情势这样一个理论而言要理解起来是很艰难的.前人在提出这些理论的时刻一些考量,衡量等等只有在你自己碰到了这些问题的时刻才能渐渐的领会.有一种说法是,没有写上10W行代码不要空谈什么计划情势大约就是这个意思吧.
综上所述,造成初学者学习计划情势艰难的缘由,一个是对基本的原则理解的不够透彻,一个的选的入门教材不公道,还有一个就是对各个情势的表述不懂得,再次是实践不够多.
有几本书籍,我看过,我想可以谈谈我的见解.
第一本,<<矫捷软件开辟:原则,情势与实践>>,这本书关于计划情势最大的奉献在于专门有几个章节报告了面向对象的几个原则,比方Likov原则,开放封闭原则等等的,这几个章节在我学习计划情势的历程中起了关键的作用,因为当我理解了这些原则之后开始渐渐懂得为什么要有纯虚函数供应接口,为什么要有抽象基类,为什么要封装....我开始用这些原则去理解各个计划情势,开始渐渐领会各个情势的辨别和共性.
别的看过的两本书,我认为性质都一样,假如你缺钱,任选其一吧.第一本是<<计划情势精解>>,第二本是<<深化浅出计划情势>>,都是我花上几个晚上便可以看完的书.这两本的安身点都是以活泼的例子结合面向对象的基本原理来说授情势,我更喜好前者一些(后者太贵,要不是打5折我才不买呐:)
其次,要多接触项目大概可以找一些好的代码来看看,自己也多写一些代码.基本上,只如果用面向对象的语言开辟的项目,里面没有几个情势的应用是不大概的了.因此,要戒除那些一开始接触计划情势就想整懂得的幻想,因为要真正的理解需求很多的实践,一样的一时半会理解不了的也没必要灰心(GOF的E文版我看了好多遍了:),坚信自己多实践一定可以渐渐的悟道的.
关于计划情势的一个疑问:非面向对象语言中有没有所谓的"计划情势"?计划情势最初的定义是办理一些问题的惯用办法(粗心如此),并没有明确的说必必要支持某种特点的语言.我用纯C开辟的项目实在是有限,平常也只是自己作一些小东西玩玩,没有做过任何一个上万行的纯C开辟的项目,所以一向对这个问题抱有疑问~~anyway,有问题是功德,阐明我在考虑~~把这个问题放在这里,今后渐渐实践之琢磨之~~
博君一笑.
关于计划情势,还有一篇有意思的文章--<<追MM与计划情势>>,这篇文章可谓是"寓教于乐"的模范,报告了23个情势在平常生活中的原型,固然没有具体报告若何实现,但是关于理解各个计划情势的应用场所还是很有帮忙的.相信对计划情势已经有了一定理解的人看了这篇文章城市会意一笑:),作者和出处已经不详了.
以上是“<b>计划情势的解析和实现(C++)之二十一-结束篇</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |