自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Bluetooth的Security概述

涉及到Bluetooth的Security相关的概念很多,并分散到不同的文档(Specification, Whitepaper)中,甚至Specification中不同的部分都零散着Security的论述。导致给理解Bluetooth的Security带来不少的困难。也许是因为大家理解不够的缘故吧,使得各种Bluetooth产品的对于Security的UI有很大的差异。从而对于用户来说,本来很S

2005-12-06 15:46:00 3762 1

原创 从FrameWork的角度看Creational Pattern

 假设程序开发分成2层,第一层是FrameWork,第二层是Application。一个FrameWork可以在多个Application中使用。这样,FrameWork需要独立于Application,即FrameWork不应该需要看到Application的接口。 假设FrameWork需要使用到一个类AbstractA,Application以AbstractA为基类设计派生类Concret

2005-07-08 17:26:00 1217

原创 需求文档大纲

下面是Alistair Cockburn列出的一个系统需求文档(System Requirments Document)的大纲。最详细的Requirment格式可以在Managing Requirements (Robertson and Robertson, Addison-Wesley, 1999).找到。不过,Requirment应该根据具体项目的具体情况进行合适的裁减。需要注意Use Ca

2005-06-14 10:59:00 2985

原创 关于文字代码(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 1931

原创 集成电路(IC)入门

 1,IC的分类什么是IC ?IC – integrated circuit,即集成电路。在一块半导体晶片(chip)上,把成千上万的各种晶体管(二极管,三极管),电阻,电容,连接线等电子元件集合在一起,这就是集成电路。.按集成度分类按照集成度(一块板上放了多少个电子元件)分类,IC可以分成:SSI (small scale integration) 小规模集成电路   100个以下MSI (me

2005-04-04 18:13:00 4873 3

原创 《设计模式Design Pattern》读书笔记之二十一

《设计模式Design Pattern》读书笔记之二十一Visitor模式结构 目的当一个对象(node)结构相对固定的时候,通过创建一个一个visitor对象来对这个结构中的所有node进行访问;而不是在各个node中创建一个一个成员函数;这样,该node结构不需要改变,可以随意增加visitor对象来增加对node结构的不同访问动作。 讨论1,  如果node经常修改(增加/减少等),visi

2005-04-04 14:45:00 1314

原创 《设计模式Design Pattern》读书笔记之二十

《设计模式Design Pattern》读书笔记之二十Template Method模式结构 目的在父类定义一个算法的框架,而可以让改算法中的每个步骤在子类中实现。这样,子类可以随意修改算法中的某个具体步骤,但整个算法的结构没有发生改变。 讨论1,  PrimitiveOperation可以是纯虚函数;或者仅仅是一个虚拟函数,父类提供一个缺省的实现。2,  PrimitiveOperation可以

2005-04-04 14:44:00 1348

原创 《设计模式Design Pattern》读书笔记之十九

《设计模式Design Pattern》读书笔记之十九Strategy模式结构 目的当一个对象的某个/某些行为有多种算法的时候,不是通过内部的switch/if等方法,也不是通过派生子类的方法,而是把算法放到一个个单独的对象(有共同的接口)里面。这样,算法的切换只要更换相应的算法对象就可以,达到很大的灵活性。 讨论1,  Strategy可以有层次继承结构,达到把共同的算法统一提取出来的目的。2,

2005-04-04 14:43:00 1330

原创 《设计模式Design Pattern》读书笔记之十八

《设计模式Design Pattern》读书笔记之十八State模式结构 目的当一个对象(context)根据当前本身的状态(state),会产生不同的行为的时候,可以采用state模式。把所有跟改状态相关的行为/动作转移到一个外部的state对象中。这样,可以避免context内部大量的switch.if等判断。 优缺点带来更大的灵活性和可维护性,因为一个新的状态可以很容易地通过派生一个类来追加

2005-03-31 18:50:00 1514

原创 《设计模式Design Pattern》读书笔记之十七

《设计模式Design Pattern》读书笔记之十七Observer模式结构 目的在一个一对多(one-to-many)的关系中,当一个对象(one)的状态被更新的时候,它的所有的相关对象(many)都会被得到通知。 讨论1,  可能会带来很大的状态更新成本,subject的一个很小的状态更新都可能使得大量的observer进行相应的更新。更为严重的是,如果subject不提供是什么状态被更新了

2005-03-30 15:39:00 1307

原创 《设计模式Design Pattern》读书笔记之十六

《设计模式Design Pattern》读书笔记之十六Memento模式结构 目的为了可以把一个对象恢复到以前的状态,却不想公开内部状态使得封装性被破坏。 优点1,  通过把originator的内部状态保存到memento,而不是直接把内部状态公开,保持了originator的封装性。因为memento有两种接口,宽(wide)的接口只会被originator使用,使得别人不能访问这些内部状态。

2005-03-28 13:52:00 1279

原创 《设计模式Design Pattern》读书笔记之十五

《设计模式Design Pattern》读书笔记之十五Mediator模式结构 目的为了减少大量的对象(colleague)之间互相通信的复杂性,创建一个中间人--mediator(类似于HUB);这样,各个colleague只要建立跟mediator之间的联系,而不需要直接跟各个colleague直接连接。各个colleague之间的通信完全通过mediator进行处理。 优点1,  Media

2005-03-25 11:02:00 1395

原创 《设计模式Design Pattern》读书笔记之十四

《设计模式Design Pattern》读书笔记之十四Command模式结构 目的Command对象建立了命令发出者(invoker)与接收者(receiver)之间的联系。从而,invoker不需要知道谁是receiver,它只管向command发出execute()的请求,command自动告诉receiver进行相应的处理。 讨论1,  如果command需要undo/redo操作,那么需要

2005-03-24 16:02:00 1384

原创 《设计模式Design Pattern》读书笔记之十三

《设计模式Design Pattern》读书笔记之十三Chain of Responsibility模式结构 目的通过解除消息/请求(request)的发送者与接收者之间的绑定,允许request在一个对象链条中传递,增加request处理的灵活性。当然,一个不可避免的可能性是,该request可能在对象链条中传递到最后都没有被处理。 讨论1, 对于successor;如果没问题的话,可以利用现有

2005-03-23 15:09:00 1147

原创 《设计模式Design Pattern》读书笔记之十二

《设计模式Design Pattern》读书笔记之十二Flyweight模式结构 目的通过共享对象,减少存储空间的消耗 讨论一个对象的状态可以分为内部状态(intrinsic state)和外部状态(extrinsic state)。内部状态是独立于上下文(context)的,外部状态因context而不同。通过把外部状态分离出去,只保存内部状态的对象就是一个flyweight,flyweight

2005-03-22 16:33:00 1254

原创 《设计模式Design Pattern》读书笔记之十一

《设计模式Design Pattern》读书笔记之十一Proxy模式结构 目的当访问一个对象花费比较大的时候,可以为它生成一个代理(proxy)。 应用remote proxy    远程代理,用本地的一个对象代理远程对象virtual proxy    虚拟代理,只有在需要的时候(on demand)才生成一个代价昂贵的对象protection proxy 保护代理,控制对对象的访问权限smar

2005-03-18 14:38:00 1339

原创 《设计模式Design Pattern》读书笔记之十

《设计模式Design Pattern》读书笔记之十Facade模式结构 目的为一个复杂的子系统(sub-system)提供一个简单的接口,可以满足大部分用户的要求,这样可以简化用户对该子系统的理解和使用,也可以降低各个自系统之间的耦合度。只有极少部分用户需要绕过Façade,直接使用子系统的各个组成部分。  参考资料《Design Pattern》  Gang-Of-4  1997

2005-03-18 13:25:00 1218

原创 《设计模式Design Pattern》读书笔记之九

《设计模式Design Pattern》读书笔记之九Decorator模式结构 目的动态地给一个对象增加功能(responsibilities)。 讨论1, 给一个对象增加功能,最简单的方法是派生一个类;但这是一种静态的方法,不灵活。而Decorator是一种动态的方法,比较灵活。2, 对于一个轻量型的component,Decorator模式是一种比较好的方法,但如果component是重量型的

2005-03-17 15:13:00 1243

原创 《设计模式Design Pattern》读书笔记之八

《设计模式Design Pattern》读书笔记之八Composite模式目的在一个part-whole的继承结构中,把整体(composition)和个体(object,component) 统一地对待。这样,对client来说,不用区别是整体还是个体,都可以进行同样的操作。 结构 讨论1, 一个缺点是给限制composite中的component带来困难。2, 有时候增加一个parent re

2005-03-16 15:29:00 1136

原创 《设计模式Design Pattern》读书笔记之七

《设计模式Design Pattern》读书笔记之七Bridge模式别名Handle/Body 结构  目的在接口(interface/abstraction)与实现(implementation)之间,建立一条桥梁。从而使得,1,  很容易地为该接口提供不同的实现2,  接口可以很容易被扩展(派生)而与具体实现不相关 与其他模式的联系和区别1, Abstract Factory可以用于创建Bri

2005-03-16 13:27:00 1174

原创 《设计模式Design Pattern》读书笔记之六

Adapter模式别名Wrapper 结构 class adapter object adapter 目的1,  我们需要利用一个现有的外部类,但该类的接口却与我们现有的系统不一致。2,或者我们想要创建一个可以很灵活地被利用的类,我们可以先把这个类(adaptee)设计得很详细,然后为它设计一个或多个简单的”pluggable adapter”,这些简单的”pluggable adapter”的接

2005-03-15 17:00:00 1174

原创 《设计模式Design Pattern》读书笔记之四

Factory Method模式别名 Virtual Constructor 结构 优点1, Creator不知道具体需要创建的对象的类名称,将具体需要创建什么样的类的对象这个决定由派生类来负责。从而使得给对象创建带来很大的灵活性。参见AbstractFactory模式,创建Product的通常方法就是使用FactoryMothod模式。 2,子类之间的具体的关系,由子类自己决定(localize

2004-10-06 19:50:00 1735

原创 《设计模式Design Pattern》读书笔记之三

Prototype模式结构优点 1, Prototype模式的主要优点之一,动态地增加/设置Classs。参看书中的例子,可以任意地创建派生于Graphic的子类,而GraphicTool并不需要知道具体的Graphic的子类的名称,只要传给他一个Prototype(新类的对象的一个指针),就可以通过调用Clone而生成新的对象。 2, Prototype模式的主要优点之二,可以减少很多派生类。考

2004-10-05 11:08:00 1603 2

原创 C++点点滴滴

● 对象作为参数传给函数,以及函数返回对象的问题 1, 当对象作为参数直接传给函数时(passing object by value),作为该对象的一个拷贝,一个新的对象会产生。但是需要注意的是:该新的对象被自动创建的时候,构造函数(constructor)并不被调用,而是复制构造函数(copy constructor)被调用;因为构造函数是初始化一个对象,而作为传入函数的参数,是现有对象的一个拷

2004-09-30 18:06:00 1483

原创 《设计模式Design Pattern》读书笔记之二

            《设计模式Design Pattern》读书笔记之二             Abstract Factory模式 别名 Kit 结构 优点1, 通过仅仅将接口提供给Client,使得Client与接口的实现隔离开来,从而Client无需考虑接口的具体实现。 2, 使得更换产品系列(Product Families)更加便捷,仅仅需要替换一个ConcreteFactory的

2004-09-28 18:41:00 1581 2

原创 《设计模式Design Pattern》读书笔记之一

     《设计模式Design Pattern》读书笔记之一      本书所使用到的符号(Guide To Notation) 《Design Pattern》这本书虽然有时候也使用一些非正式的图来表明自己的思想,但在设计模式中表示类/对象之间的关系时,使用规范的图。可能我的书版本比较老一些的缘故?它使用的图并不是基于UML,而是基于UML的前身。类图(class diagram)、对象图(o

2004-09-27 14:44:00 1794

原创 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 1881

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除