源动力

程序在于积累和思考
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年2月16日

摘要: Facade模式,即外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。举一个例子:现在有一辆汽车,我们(客户程序)要启动它,那我们就要发动引擎(子系统1),使四个车轮(子系统2)转动。但是实际中我们并不需要用手推动车轮使其转动,我们踩下油门,此时汽车再根据一些其他的操作使车轮转动。油门就好比系统给我们留下的接口,不论汽车是以何种方式转动车轮,车轮变化成什么牌子的,我们要开走汽车所要做的还是踩下油门。GoF《设计模式》中说道:为子系统中的一组接口提供一个一致的界面,Facade模式 阅读全文

posted @ 2012-02-16 11:05 老K的幸福生活 阅读(308) 评论(0) 推荐(0) 编辑

摘要: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到,用于线程之间的通信, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态;WaitOne方法在无信号状态下,可以使当前线程挂起;注意这里说的是当前线程。可以通过构造函数的参数值来决定其初始状态,true表示畅通无阻的状态(signaled),线程不能阻塞,即使调用WaitOne也不能阻塞;false表示是可阻塞的状态(nonsignaled),可以调用WaitOne方法来阻塞,WaitOne方法被调用后,当前线程(即调用这个方法的线程)暂停运行(可 阅读全文

posted @ 2012-02-16 10:26 老K的幸福生活 阅读(491) 评论(0) 推荐(1) 编辑