Posted on 2009-04-06 18:00
S.l.e!ep.¢% 阅读(1782)
评论(3) 编辑 收藏 引用 所属分类:
Design Pattern
与其说“也谈”
事实上就是看完,
设计模式之Observer模式 的读后感
大概就是“人云亦云”的意思
在过去的代码中,大概也就只粗略地用了 工厂跟Observer 了
书上和网上的例子看不过少,但实际用起来才发现不是那么回事
void notify(AccountArgs args)
{
for(list<IObserver*>::iterator itr = observerList.begin();itr!=observerList.end();itr++)
{
(*itr)->Update(args);
}
}
在应用中可能有n个参数
那么会有 n 个 notify版本
void notify(AccountArgs args1);
void notify(AccountArgs args1, AccountArgs args2);
……
见到有人把参数又定义成了一个个结构, 也有人用了模板函数来调用……
for(list<IObserver*>::iterator itr = observerList.begin();itr!=observerList.end();itr++)
{
(*itr)->Update(args);
}
这个循环是阻塞的,如果你没异步实现的话,
如果是一个服务器程序,如果是阻塞的,效率很低