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

2011年5月24日

摘要: 一、定义代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,使得原本接口不兼容而不能一起工作的那些类可以一起工作。外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。二、理解代理模式和适配器模式应该说很相像,但是他们的区别也很明显,代理模式和被代理者的接口是同一个,只是使用中客户访问不到被代理者,所以利用代理间接的访问,而适配器模式,是因为接口不同,为了让用户使用到统一的接口,把原先的对象通过适配器让用户统一的使用,大多数运用在 阅读全文

posted @ 2011-05-24 17:06 李大嘴 阅读(10776) 评论(0) 推荐(2) 编辑

摘要: forward_iterator_tag这种类型的迭代器只能像前移动,所以算法实现上很纠结。大体过程是不断交换[first, mid) 和 [mid, last) 两个区间的元素。没有多少复杂的数学推导,想清楚过程就行了,故不赘述。以交换作为单位操作,时间消耗是n。(注意,这三个算法的空间复杂度都是O(1),时间O(n)。所以不谈复杂度,谈具体消耗,并且要指明单位操作。)bidirectional_iterator_tag这种类型的迭代器可以双向移动,于是它是支持reverse操作的。估计大部分人在网上看到的面试题,都是讲的这套算法,如下:reverse(begin, mid)reverse( 阅读全文

posted @ 2011-05-24 15:10 李大嘴 阅读(3403) 评论(0) 推荐(0) 编辑