提里奥弗丁

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年3月14日

摘要: IUnknow接口是个伟大的创造!IUnknow的AddRef和Release实现对象的引用计数管理, 引用计数用来管理对象的生存周期。通过引用计数一来可以很方便的共享对象, 另外也能确保对象被正确释放(确保对象的new和delete在同一模块中)。QueryInterface实现接口查询, 通过这种方式可以很方便的对现有组件进行升级, 只要接口不改 ,可以随意修改内部实现而不用客户程序重新编译。另外也可以直接增加新接口, 只要在QueryInterface内增加并可以查询到该新接口, 我们就可以调用该新接口。我们可以看到QueryInterface让C++这种静态语言有了某些动态语言的特性, 阅读全文
posted @ 2014-03-14 09:11 提里奥弗丁 阅读(764) 评论(0) 推荐(0) 编辑

摘要: 在实际开发中,我们经常会遇到这种情况;一个对象有多种状态,在每一个状态下,都会有不同的行为。那么在代码中我们经常是这样实现的。1234567891011121314151617181920212223242526typedefenumtagState{ state, state1, state2}State;voidAction(State actionState){ if(actionState==state) {// DoSomething } elseif(actionState==state1) {// DoSomething } elseif(actionState==state2) 阅读全文
posted @ 2014-03-14 09:04 提里奥弗丁 阅读(493) 评论(0) 推荐(0) 编辑