- 博客(15)
- 资源 (19)
- 收藏
- 关注
原创 IPhone 获取通讯录信息
ios6新增加了隐私授权功能,访问通讯录也需要授权。ios6的sdk新增加了一个函数ABAddressBookRequestAccessWithCompletion说明如下:注意这个函数是在ios6.0和以上版本才有效。其他版本这个函数是个空值。还有如果代码里面使用了这个函数,那么xcode工程里面需要设置ios6 sdk,不然编译会出错。下面的代码在xcode 4
2013-01-29 10:47:47 3137
原创 设计模式 - 行为型模式总结
行为型模式总共有11种:职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。 封装变化封装变化是很多行为模式的主题。当一个系统里面某些特性经常发生变化的时候,我们常常可以使用一个相应的行为模式来封装。所以,行为型模式里面很多模式都会具有两种对象:1. 封装特征的对象;2. 使用这些特征的对象。如果不
2013-01-18 11:31:14 1314 1
原创 设计模式 - 访问者模式
访问者模式(Visitor Pattern),据说是一种相对复杂,而且使用条件苛刻的模式。但是Gof既然把它归到23种设计模式里面,那总有它存在的道理。在职责链模式里面,有个领导审批的例子,http://blog.csdn.net/zj510/article/details/8156852。CLeader类有审批接口,如:class CLeader{public: CLeader(C
2013-01-16 17:22:31 750
原创 设计模式 - 模板方法模式
模板方法模式,很多人可能并不知道这么个模式,但是实际上已经在使用了。我们经常会碰到这么一种情况:在不同的子类里面发现有些代码是一样的。那么自然就会把这些代码放到它们的基类里面去。子类只实现不同的部分。这其实就已经在使用模板方法模式了。意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。结构图
2013-01-15 15:50:11 754
原创 设计模式 - 策略模式
Strategy Pattern,个人用的最多的一种模式之一。这种模式比较简单,但是却很有效。意图定义一系列的算法,把它们一个一个封装起来,并且使它们可以互相替换。本模式使得算法可独立于使用它的客户而变化。结构从结构上看策略模式还是蛮简单的,两个参与者:context和strategy。context会将它的客户的请求转发给context的策略对象。从而相应的策略对象可以完成客
2013-01-15 14:58:32 863
原创 设计模式 - 状态模式
State Pattern,状态模式。个人用的蛮多的一种模式。意图允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。结构结构图还是蛮简单的,主要涉及两个类,context和state。state类会处理一些行为。状态模式的一个重要的特征就是:把和状态相关的行为都放入一个对象中。因为所有和状态相关的代码都存在于某一个state子类中,所以通过定义新的子类可以
2013-01-14 15:21:14 681
原创 设计模式 - 观察者模式
观察者模式,也有叫发布-订阅模式的。这是个人比较喜欢的设计模式之一。因为它比较容易使用,而且效果还挺好。意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。结构其实,观察者模式里面目标对象和观察者对象还是松耦合的。目标对象需要知道观察者的一些比较固定的接口,比如Update(),同时观察者也需要知道目标对象的一些状态,因为
2013-01-11 17:15:58 640
原创 设计模式 - 备忘录模式
Memento pattern,备忘录模式。不知道哪位老兄第一个翻译的,翻译的真形象。备忘录,就是将某个对象的某个时刻的状态保存下来,以后可以继续查看,还可以恢复状态。意图在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。结构从这个结构图可以看到,Originator会创建一个备忘录,然而这个备忘录不是保存在O
2013-01-11 15:58:00 734
原创 设计模式 - 中介模式
Mediator pattern, 中介模式。中介模式还是蛮有用的。OOP程序设计鼓励我们把行为分布到各个对象中,但是这样可能会导致有大量的对象,并且这些对象之间会有很多连接,或者称之为耦合。而且这些耦合是错中复杂的。比如有A,B,C,D四个类,A和B耦合,B和C耦合,D和A耦合,等等。最坏的情况就是A必须知道B,C,D三个类。这样就搞的整个系统变成一个不可分割的整体,任何修改的代价都很高,比如修
2013-01-10 15:16:28 784
原创 设计模式 - 迭代器模式
到目前为止,我都没有自己去使用过迭代器模式。个人感觉迭代器模式一般用在数据结构的遍历,比如list,map的元素遍历。因为我自己基本没有封装过这种数据结构,所以也没什么机会去使用迭代器模式(基本都是用stl或者boost的数据结构)。这里就copy一下GOF对于这种模式的定义:意图提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
2013-01-10 13:34:30 607
原创 设计模式 - 命令模式
回调函数,相信很多人都用过。比如A中定义一个函数,然后A把这个函数指针发给B,B在某个时刻调用这个指针。这就是个回调。其实在过去面向过程语言,比如C语言里面是大量的用到回调函数。就算是现在面向对象的语言,比如JAVA,C#, 有时也还是会用到回调函数。考虑这么一个例子,有一个加密软件,支持MD5加密和RSA加密。在这个软件的UI界面上有两种方式使用加密:菜单和一个按钮。通过菜单可以对一个文件加
2013-01-09 17:44:01 1231
转载 /etc/passwd, /etc/group 文件格式
/etc/passwd如果我们想查看系统里面有哪些用户,我们可以这么做:cat /etc/passwd.也就是打开这个文件看一下。 /etc/group看http://www.groad.net/bbs/read.php?tid-5719.html
2013-01-08 10:04:45 1268
原创 linux上按装bugzilla的一个错误requires that You install "make"
I've just had the same error and fixed it with the below.cpano conf make '/usr/bin/make' #or path to your makeo conf commit
2013-01-04 16:38:58 616
转载 bugzilla安装时候的一个错误
http://www.ishow.me/2012/08/30/895.html 如果是64位,url中的x86改成x64 安装参考http://wenku.baidu.com/view/dc58a5c7bb4cf7ec4afed06b.html
2013-01-03 16:16:18 614
OSX服务端+iphone客户端 网络通信小程序
2013-05-16
封装了一个带上下刷新功能的table(UITableView子类)
2012-12-28
WDM驱动-完成例程
2012-12-21
使用DeviceIoControl进行通信(直接方式)
2012-11-23
缓冲区方式WDM驱动例子
2012-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人