知道设计模式这玩意其实好几年了,但是因为长期用C做驱动方面的工作,与它少有交集.新项目基于Windows平台开发VR项目,基本上用C++敲代码,接着基于openVR做驱动,官方提供的demo,从代码结构来说,不是很规范,VR目前最大的痛点,个人觉得是在内容和外设上,目前的openVR提供的代码,扩展外设蹩脚,打算用点设计模式的方法整理一下,做好接口,毕竟很多外设还是需要第三方来提供,同时1月份老大出去参加CES了,没安排什么具体的事情, 难得有一周的清闲时间可以做自己想做的事情.原本安排的是每天8小时,10天完成的计划,但是后来大大超出了预期,设计模式看起来好像都懂,但是自己实现时候就会出现很多问题,需要花时间去消化,1月份上班搞了20天+,下班在家搞,过年还搞了几天,还是有所收获,接下来时间打算把这些记录下来,一方面加深理解,另一方便以后用的时候有地方找.
PS:不要小看整理的力量,设计模式圣经的书籍Design Patterns,其中记录的各种各样色设计模式并不是GOF创造出来的,而是收录/整理了许多优秀程序员的杰作而成的.
//每个设计模式描述了在我们开发中一遍又一遍遇到的问题,描述问题的解决方案的核心,你可以重复利用这样的解决方案(设计模式).
"Each pattern describes a problem which occurs over and over again in our environment,
and then describes the core of the solution to that problem, in such a way that you can
use this solution a million times over, without ever doing it the same way twice"
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结(并不仅限于书中所指的23种),一般而言,一个设计模式包含四个要素:模式名称、何时使用、组成部分、效果.一个设计模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍.最主要的思想包含2点:
1.对接口编程.
2.组合优于继承.
这里记录一下自己学习时候学习的一些资料,打包上传到这里了,大小限制的原因,分成2部分上传CSDN(设计模式书籍合集part1,设计模式书籍合集part2)
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工程同时也会上传。