知道设计模式这玩意其实好几年了,但是因为长期用C做驱动方面的工作,与它少有交集.新项目基于Windows平台开发VR项目,基本上用C++敲代码,接着基于openVR做驱动,官方提供的demo,从代码结构来说,不是很规范,VR目前最大的痛点,个人觉得是在内容和外设上,目前的openVR提供的代码,扩展外设蹩脚,打算用点设计模式的方法整理一下,做好接口,毕竟很多外设还是需要第三方来提供,同时1月份老大出去参加CES了,没安排什么具体的事情, 难得有一周的清闲时间可以做自己想做的事情.原本安排的是每天8小时,10天完成的计划,但是后来大大超出了预期,设计模式看起来好像都懂,但是自己实现时候就会出现很多问题,需要花时间去消化,1月份上班搞了20天+,下班在家搞,过年还搞了几天,还是有所收获,接下来时间打算把这些记录下来,一方面加深理解,另一方便以后用的时候有地方找. PS:不要小看整理的力量,设计模式圣经的书籍Design Patterns,其中记录的各种各样色设计模式并不是GOF创造出来的,而是收录/整理了许多优秀程序员的杰作而成的.
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结(并不仅限于书中所指的23种),一般而言,一个设计模式包含四个要素:模式名称、何时使用、组成部分、效果.一个设计模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍.最主要的思想包含2点: 1.对接口编程. 2.组合优于继承.
这里记录一下自己学习时候学习的一些资料,打包上传到这里了,大小限制的原因,分成2部分上传(设计模式书籍合集part1,设计模式书籍合集part2)
DesignPatterns 设计模式最权威的书籍之一,附件提供中英文版,建议阅读英文版本,代码使用的语言是smalltalk和C++,,缺点是举的例子不太容易理解.大话设计模式 通俗版本的设计模式书籍,通过大鸟和小菜的生活对话的方式来介绍设计模式,容易理解,快速上手,缺点是反复分析时,要反复看他故事部分的内容,是蛮费劲的,这本书的例子使用C#实现代码,附录提供书籍.设计模式之禅 与<大话设计模式>类似,难度介于原版之下,大话设计模式之上,例子结合实际项目,所有例子用JAVA实现,附录提供书籍图说设计模式 这个链接介绍了常用的设计模式和这些模式的UML图,优点是简洁,缺点是不完整,实现上存在一些不足.其他链接 推荐2个老外的设计模式资料链接,Source Make之design patterns,tutorials point之design pointerns 最好的学习方法就在学习之后,将所学的知识应用到实际当中,实践出真知嘛.最近迷上了长跑,后续会将多数设计模式应用到跑步的场景当中,加深理解,另外正如设计模式作者所述那样不要希望在第一次阅读后就能完全掌握,需要不断的学习,理解,运用: A word of warning and encouragement: Don't worry if you don't understand this book completely on the first reading. We didn't understand it all on the first writing! Remember that this isn't a book to read once and put on a shelf. We hope you'll find yourself referring to it again and again for design insights and for inspiration.后续每个设计模式分为该设计模式的介绍、实例、UML图、结构、优点、缺点6个部分,每个设计模式都提供源代码以及CMakeLists,可以在Visual Studio编译器运行和调试,另外,UML图将用”Enterprise Architect”工具生成,然后修改,修改后的EA工程同时也会上传。