首页
社区
课程
招聘
[旧帖] [原创]新手学对象管理 0.00雪花
发表于: 2015-8-18 22:00 1283

[旧帖] [原创]新手学对象管理 0.00雪花

2015-8-18 22:00
1283
首先感谢  看雪论坛 有那么多帖子让新手看, 还要感谢 梦织未来的梦无极大大 给予的指点。

先说说我开始学习时候的两个困惑,

1,每个 OBJECT_TYPE 都有一个创建时候给的序号,是按1.2.3......的顺序排列的,但是他们在对象目录 ObjectTypes 里面是按哈希数表排列的,我一直没弄清他们之间的关系。

2,我一直以为属性是不用管理的,就像自然界的各种物质属性就是自带在物质上的,我们根本看不到,也不能去管理这些属性,只能说掌握他们规律以后去运用他们。但是在计算机里面,你初始化的属性也是写在内存上的,当被写到内存上以后,其实就是已经物质化,也就是说你可以像管理实体一样的,管理属性,所以在对象目录哈希表中,有个Object_Type的类型。

对于第一个问题,类型对象的名字也是按哈希表在对象目录中排列的,但是他们内在的有一个顺序,查了下WRK源码,在pbtype.c里面,是用 InsertTailList  把新建的对象类型放在type类型的链表里面。
    CreatorInfo = OBJECT_HEADER_TO_CREATOR_INFO( NewObjectTypeHeader );

    if (CreatorInfo != NULL) {

        InsertTailList( &ObpTypeObjectType->TypeList, &CreatorInfo->TypeList );
    }

对于第二个问题,微软的管理策略是抽象抽象在抽象,现在就能明白为什么把对象属性也当成物质对象来管理了。第一,是为了方便管理,第二,属性变成二进制代码写出来的时候,也直接变成物质对象了。所以也可以按对象来管理。

我觉得微软就是把任何对象都固定在某一种格式里面,好方便它管理。

新人一点简单认识,求轻喷。。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//