设计模式后记
设计模式的好处在前言已经说过了,通过自己动手实现一遍每个模式加深印象,当然这离真正理解设计模式还有很长的路要走,在写这系列文章要纠结了很久,最后的结论是:”入门级的东西,简单说”,所以就让每个设计模式只提其中的六点,深入的东西还是需要在实际编码中不断的思考,修改,修正,思考…….学习过程中,收获不少:
- 写代码时候回顾了不少C++特性
- UML图
如果脑袋里能复现出某个设计模式的UML,那么编码起来就会得心应手.UML逆向工具基本依赖于头文件.h/.hpp来分析出类之间的关系,从使用上来说,都无法从代码中得出完美的UML图,需要手动修改,可以先基于UML工具的逆向功能,将你的代码逆向出UML关系图,然后手动修改即可。目前常用的UML图工具有:EA、IBM的ROSE、StartUML、Understand,从使用效果来看:EA=ROSE>Understand=StartUML,其中EA工具自带的帮助很强大。 - CMake
花了2天时间研究了一下CMake的使用,整理了一个CMake使用教程,居然被推到首页了,万分侥幸,后来制作一个比较简单实用的CMakeLists,生成Visual Studio工程来编译每个设计模式的代码,感觉挺好. - Github
以前开发多数是使用Git的修改、回退、补丁、合并、提交等日常操作,现在更多的学习管理一个开源代码方面的知识,同时也看一本很有意义的书<>,如果有兴趣做开源代码的人推荐此书,点击这里访问,有中文版. - Glog
一个来自google的轻量级的log系统glog,功能简单,但是基本可以满足小项目的需求,比log4cpp来的轻巧许多,适合小项目使用,在设计模式这里并没有使用,因为每个设计模式日志太少,强行用,有点多余,算为以后准备吧。 - 编码规范
同样使用来自google的编码规范,有兴趣的可以点击这里获取google开源项目风格指南,同样也有中文版!这个规范使用起来,感觉大体上挺好的,修正了自己之前的一些小毛病,不过还是有一些觉得不太好,比如成员变量的命名,更喜欢是是”m_”开头,而google这里推荐的是单词全拼,小写,并在最后加’_’,当然因人而异吧,整体来说如果团队开发时用一样的标准,是个不错方法。
最后
到这里最想说的是”终于更新完了!”,前前后后接近3个月吧,收获和付出还是相匹配的.
整个项目使用C++实现,每个设计模式都可以通过CMake来构建Visual Studio工程,进行调试.
UML图通过Enterprise Architect工具创建/修改.
项目代码(C++)和UML图上传到GitHub上的这里,如不嫌弃,欢迎下载.