摘要: 0 引言 0.1 设计模式解析(总序)0.2 设计模式解析后记0.3 与作者联系1 创建型模式1.1 Factory模式1)为了提高内聚(Cohesion)和松耦合(Coupling) ,我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。 这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。这里很容易出现的一个问题 n 多的子类继承自抽象基类,我们不得不在每次要用到子类的地方就编写诸如 new ×××;的代码。这里带来两个问题 1)客户程序员必须知道实际子类的名称(当系统复杂后,命名将是一个很不好处理的问题,为了处理可能的名字冲突, 阅读全文
posted @ 2012-04-08 14:56 cocke.li 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 最近验证一个数据传输可靠性方案,走了不少弯路,在此记录,希望从中汲取教训。 需求为 能够检测数据在一条通道传输时是否发生异常,在发生异常后能够及时切换到备用通道,继续进行数据传输,保证数据传输速率和准确性; 在头几天,基于tcp协议进行验证,思路是,通过内核截包,检测是否传输速率发生异常,在速率低于一个阀值时,切换通道,在备用通道继续传输,为保证连续和不丢包,考虑正常传输时在发送端缓存数据,在发生异常时接收端发送包的标识到发送端,发送端能够从该包开始通过备用通道继续传输,然而,却因为缺乏对tcp协议栈实现原理的理解,竟然天真的认为在切换通道后发送端会继续传输!!实际是发送端在没有收到接收... 阅读全文
posted @ 2012-03-29 22:22 cocke.li 阅读(443) 评论(0) 推荐(1) 编辑
摘要: NT系统的内核是unicode代码,通常vc分创建的工程默认都是ansi代码(可以兼容win9x),在nt下ansi程式在调用windows API的时系统实际又进行了一次ansi到unicode的代码转化,如MoveWindowA实际上又调用MoveWindowW.如果以我们的程序不考虑win9x(早晚是明日黄花)的话,直接用unicode编译,那么程式的代码执行效率一定能增色不少.具体: (0... 阅读全文
posted @ 2008-08-26 23:45 cocke.li 阅读(347) 评论(0) 推荐(0) 编辑