- 博客(27)
- 收藏
- 关注
原创 Bluetooth的Security概述
涉及到Bluetooth的Security相关的概念很多,并分散到不同的文档(Specification, Whitepaper)中,甚至Specification中不同的部分都零散着Security的论述。导致给理解Bluetooth的Security带来不少的困难。也许是因为大家理解不够的缘故吧,使得各种Bluetooth产品的对于Security的UI有很大的差异。从而对于用户来说,本来很S
2005-12-06 15:46:00
3915
1
原创 从FrameWork的角度看Creational Pattern
假设程序开发分成2层,第一层是FrameWork,第二层是Application。一个FrameWork可以在多个Application中使用。这样,FrameWork需要独立于Application,即FrameWork不应该需要看到Application的接口。 假设FrameWork需要使用到一个类AbstractA,Application以AbstractA为基类设计派生类Concret
2005-07-08 17:26:00
1274
原创 需求文档大纲
下面是Alistair Cockburn列出的一个系统需求文档(System Requirments Document)的大纲。最详细的Requirment格式可以在Managing Requirements (Robertson and Robertson, Addison-Wesley, 1999).找到。不过,Requirment应该根据具体项目的具体情况进行合适的裁减。需要注意Use Ca
2005-06-14 10:59:00
3080
原创 关于文字代码(character code)
为了理解计算机处理文字的编码/表示,首先需要分清楚三个概念(这些概念经常被混淆)。1,character repertoire (字符列表)这是指某个特定的可表示的字符集合。例如:the Japanese syllabaries and ideographs of JIS X 0208 (CS 01058) [fixed] the Western European alphabets and sy
2005-06-14 10:56:00
2016
原创 集成电路(IC)入门
1,IC的分类什么是IC ?IC – integrated circuit,即集成电路。在一块半导体晶片(chip)上,把成千上万的各种晶体管(二极管,三极管),电阻,电容,连接线等电子元件集合在一起,这就是集成电路。.按集成度分类按照集成度(一块板上放了多少个电子元件)分类,IC可以分成:SSI (small scale integration) 小规模集成电路 100个以下MSI (me
2005-04-04 18:13:00
5069
3
原创 《设计模式Design Pattern》读书笔记之二十一
《设计模式Design Pattern》读书笔记之二十一Visitor模式结构 目的当一个对象(node)结构相对固定的时候,通过创建一个一个visitor对象来对这个结构中的所有node进行访问;而不是在各个node中创建一个一个成员函数;这样,该node结构不需要改变,可以随意增加visitor对象来增加对node结构的不同访问动作。 讨论1, 如果node经常修改(增加/减少等),visi
2005-04-04 14:45:00
1352
原创 《设计模式Design Pattern》读书笔记之二十
《设计模式Design Pattern》读书笔记之二十Template Method模式结构 目的在父类定义一个算法的框架,而可以让改算法中的每个步骤在子类中实现。这样,子类可以随意修改算法中的某个具体步骤,但整个算法的结构没有发生改变。 讨论1, PrimitiveOperation可以是纯虚函数;或者仅仅是一个虚拟函数,父类提供一个缺省的实现。2, PrimitiveOperation可以
2005-04-04 14:44:00
1391
原创 《设计模式Design Pattern》读书笔记之十九
《设计模式Design Pattern》读书笔记之十九Strategy模式结构 目的当一个对象的某个/某些行为有多种算法的时候,不是通过内部的switch/if等方法,也不是通过派生子类的方法,而是把算法放到一个个单独的对象(有共同的接口)里面。这样,算法的切换只要更换相应的算法对象就可以,达到很大的灵活性。 讨论1, Strategy可以有层次继承结构,达到把共同的算法统一提取出来的目的。2,
2005-04-04 14:43:00
1368
原创 《设计模式Design Pattern》读书笔记之十八
《设计模式Design Pattern》读书笔记之十八State模式结构 目的当一个对象(context)根据当前本身的状态(state),会产生不同的行为的时候,可以采用state模式。把所有跟改状态相关的行为/动作转移到一个外部的state对象中。这样,可以避免context内部大量的switch.if等判断。 优缺点带来更大的灵活性和可维护性,因为一个新的状态可以很容易地通过派生一个类来追加
2005-03-31 18:50:00
1555
原创 《设计模式Design Pattern》读书笔记之十七
《设计模式Design Pattern》读书笔记之十七Observer模式结构 目的在一个一对多(one-to-many)的关系中,当一个对象(one)的状态被更新的时候,它的所有的相关对象(many)都会被得到通知。 讨论1, 可能会带来很大的状态更新成本,subject的一个很小的状态更新都可能使得大量的observer进行相应的更新。更为严重的是,如果subject不提供是什么状态被更新了
2005-03-30 15:39:00
1353
原创 《设计模式Design Pattern》读书笔记之十六
《设计模式Design Pattern》读书笔记之十六Memento模式结构 目的为了可以把一个对象恢复到以前的状态,却不想公开内部状态使得封装性被破坏。 优点1, 通过把originator的内部状态保存到memento,而不是直接把内部状态公开,保持了originator的封装性。因为memento有两种接口,宽(wide)的接口只会被originator使用,使得别人不能访问这些内部状态。
2005-03-28 13:52:00
1324
原创 《设计模式Design Pattern》读书笔记之十五
《设计模式Design Pattern》读书笔记之十五Mediator模式结构 目的为了减少大量的对象(colleague)之间互相通信的复杂性,创建一个中间人--mediator(类似于HUB);这样,各个colleague只要建立跟mediator之间的联系,而不需要直接跟各个colleague直接连接。各个colleague之间的通信完全通过mediator进行处理。 优点1, Media
2005-03-25 11:02:00
1433
原创 《设计模式Design Pattern》读书笔记之十四
《设计模式Design Pattern》读书笔记之十四Command模式结构 目的Command对象建立了命令发出者(invoker)与接收者(receiver)之间的联系。从而,invoker不需要知道谁是receiver,它只管向command发出execute()的请求,command自动告诉receiver进行相应的处理。 讨论1, 如果command需要undo/redo操作,那么需要
2005-03-24 16:02:00
1427
原创 《设计模式Design Pattern》读书笔记之十三
《设计模式Design Pattern》读书笔记之十三Chain of Responsibility模式结构 目的通过解除消息/请求(request)的发送者与接收者之间的绑定,允许request在一个对象链条中传递,增加request处理的灵活性。当然,一个不可避免的可能性是,该request可能在对象链条中传递到最后都没有被处理。 讨论1, 对于successor;如果没问题的话,可以利用现有
2005-03-23 15:09:00
1189
原创 《设计模式Design Pattern》读书笔记之十二
《设计模式Design Pattern》读书笔记之十二Flyweight模式结构 目的通过共享对象,减少存储空间的消耗 讨论一个对象的状态可以分为内部状态(intrinsic state)和外部状态(extrinsic state)。内部状态是独立于上下文(context)的,外部状态因context而不同。通过把外部状态分离出去,只保存内部状态的对象就是一个flyweight,flyweight
2005-03-22 16:33:00
1302
原创 《设计模式Design Pattern》读书笔记之十一
《设计模式Design Pattern》读书笔记之十一Proxy模式结构 目的当访问一个对象花费比较大的时候,可以为它生成一个代理(proxy)。 应用remote proxy 远程代理,用本地的一个对象代理远程对象virtual proxy 虚拟代理,只有在需要的时候(on demand)才生成一个代价昂贵的对象protection proxy 保护代理,控制对对象的访问权限smar
2005-03-18 14:38:00
1368
原创 《设计模式Design Pattern》读书笔记之十
《设计模式Design Pattern》读书笔记之十Facade模式结构 目的为一个复杂的子系统(sub-system)提供一个简单的接口,可以满足大部分用户的要求,这样可以简化用户对该子系统的理解和使用,也可以降低各个自系统之间的耦合度。只有极少部分用户需要绕过Façade,直接使用子系统的各个组成部分。 参考资料《Design Pattern》 Gang-Of-4 1997
2005-03-18 13:25:00
1261
原创 《设计模式Design Pattern》读书笔记之九
《设计模式Design Pattern》读书笔记之九Decorator模式结构 目的动态地给一个对象增加功能(responsibilities)。 讨论1, 给一个对象增加功能,最简单的方法是派生一个类;但这是一种静态的方法,不灵活。而Decorator是一种动态的方法,比较灵活。2, 对于一个轻量型的component,Decorator模式是一种比较好的方法,但如果component是重量型的
2005-03-17 15:13:00
1278
原创 《设计模式Design Pattern》读书笔记之八
《设计模式Design Pattern》读书笔记之八Composite模式目的在一个part-whole的继承结构中,把整体(composition)和个体(object,component) 统一地对待。这样,对client来说,不用区别是整体还是个体,都可以进行同样的操作。 结构 讨论1, 一个缺点是给限制composite中的component带来困难。2, 有时候增加一个parent re
2005-03-16 15:29:00
1180
原创 《设计模式Design Pattern》读书笔记之七
《设计模式Design Pattern》读书笔记之七Bridge模式别名Handle/Body 结构 目的在接口(interface/abstraction)与实现(implementation)之间,建立一条桥梁。从而使得,1, 很容易地为该接口提供不同的实现2, 接口可以很容易被扩展(派生)而与具体实现不相关 与其他模式的联系和区别1, Abstract Factory可以用于创建Bri
2005-03-16 13:27:00
1215
原创 《设计模式Design Pattern》读书笔记之六
Adapter模式别名Wrapper 结构 class adapter object adapter 目的1, 我们需要利用一个现有的外部类,但该类的接口却与我们现有的系统不一致。2,或者我们想要创建一个可以很灵活地被利用的类,我们可以先把这个类(adaptee)设计得很详细,然后为它设计一个或多个简单的”pluggable adapter”,这些简单的”pluggable adapter”的接
2005-03-15 17:00:00
1214
原创 《设计模式Design Pattern》读书笔记之四
Factory Method模式别名 Virtual Constructor 结构 优点1, Creator不知道具体需要创建的对象的类名称,将具体需要创建什么样的类的对象这个决定由派生类来负责。从而使得给对象创建带来很大的灵活性。参见AbstractFactory模式,创建Product的通常方法就是使用FactoryMothod模式。 2,子类之间的具体的关系,由子类自己决定(localize
2004-10-06 19:50:00
1772
原创 《设计模式Design Pattern》读书笔记之三
Prototype模式结构优点 1, Prototype模式的主要优点之一,动态地增加/设置Classs。参看书中的例子,可以任意地创建派生于Graphic的子类,而GraphicTool并不需要知道具体的Graphic的子类的名称,只要传给他一个Prototype(新类的对象的一个指针),就可以通过调用Clone而生成新的对象。 2, Prototype模式的主要优点之二,可以减少很多派生类。考
2004-10-05 11:08:00
1643
2
原创 C++点点滴滴
● 对象作为参数传给函数,以及函数返回对象的问题 1, 当对象作为参数直接传给函数时(passing object by value),作为该对象的一个拷贝,一个新的对象会产生。但是需要注意的是:该新的对象被自动创建的时候,构造函数(constructor)并不被调用,而是复制构造函数(copy constructor)被调用;因为构造函数是初始化一个对象,而作为传入函数的参数,是现有对象的一个拷
2004-09-30 18:06:00
1520
原创 《设计模式Design Pattern》读书笔记之二
《设计模式Design Pattern》读书笔记之二 Abstract Factory模式 别名 Kit 结构 优点1, 通过仅仅将接口提供给Client,使得Client与接口的实现隔离开来,从而Client无需考虑接口的具体实现。 2, 使得更换产品系列(Product Families)更加便捷,仅仅需要替换一个ConcreteFactory的
2004-09-28 18:41:00
1619
2
原创 《设计模式Design Pattern》读书笔记之一
《设计模式Design Pattern》读书笔记之一 本书所使用到的符号(Guide To Notation) 《Design Pattern》这本书虽然有时候也使用一些非正式的图来表明自己的思想,但在设计模式中表示类/对象之间的关系时,使用规范的图。可能我的书版本比较老一些的缘故?它使用的图并不是基于UML,而是基于UML的前身。类图(class diagram)、对象图(o
2004-09-27 14:44:00
1838
原创 C/C++中align的问题
在C/C++编程中,有一个align的问题经常被忽略。所谓align的问题,就是指通过对原始数据类型按边界对齐,CPU可以达到更好的访问效率。align的基本原则是,数据类型以本身的size作为边界对齐。比如,char按1byte对齐,short按2byte对齐,int按4byte对齐等等。在定义structure,union,class的时候,需要考虑到这个align的问题。如果访问了Unali
2004-09-25 13:44:00
1983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人