今天在拜读Martin Fowler的著作《企业应用架构模式》,恰巧我们的开发使用微软的5层架构模式,很多东西有点感觉,不知道是自己的水平提高了,还是Martin Fowler他老人家的说话特别适合我的口味,呵呵,总之看着很爽。这种感觉与当初读《重构》的时候略有相同。

 

在书中提到了GUID,作者说:“GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。”

 

 

//  .net 中使用GUID
private void Button1_Click(object sender, System.EventArgs e)
        {
            // new a GUID
            this.TextBox1.Text = System.Guid.NewGuid().ToString();
        }
 

 

另外,我借鉴了网上的一些看法:

1.         一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。

 

2.         GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:337c7f2b-7a34-4f50-9141-bab9e6478cc8 即为有效的 GUID 值。

 

3.         世界上(Koffer注:应该是地球上)的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。

 

4.         在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

 

对于GUID各个部分的含义哪个知道他们的具体含义?或者提供一点什么参考?