D
drawpharos
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在设计一个对象TRadius,其中包含一个TRadiusPackages对象,
TRadiusPackages对象中又包括TAttributes对象,([red]是包含,不是继承[/red])
TAttributes应有很多的Attrubite,并且要实现insert,delete,find等操作,
这几个对象该怎么设计?主要是TAttributes应如何设计?
下面是我的源代码,但我觉得TAttributes对象设计的有问题,请大家领评判
TRadiusPackages对象中又包括TAttributes对象,([red]是包含,不是继承[/red])
TAttributes应有很多的Attrubite,并且要实现insert,delete,find等操作,
这几个对象该怎么设计?主要是TAttributes应如何设计?
下面是我的源代码,但我觉得TAttributes对象设计的有问题,请大家领评判
代码:
unit Radius;
interface
type
TRadiusAttribute = class //Radius属性对象
private
{以下是TRadiusAttribute的一些属性}
AttrType: Byte;
length : Byte;
DataType : string;
value : TMemoryStream;
Prev,Next : TRadiusAttribute;
{以下是TRadiusAttribute的一些方法}
procedure Create;
procedure Append(AttrType : Byte
DayaType , Value : String);
procedure Insert(Index : Byte
AttrType : Byte
DayaType , Value : TMemoryStream);
procedure Modyfy(Index : Byte
AttrType : Byte
DayaType , Value : TMemoryStream);
procedure Delete(Index : Byte)
overload;
procedure Delete(AttrType : Byte
DayaType , Value : TMemoryStream)
overload;
function find(AttrType : Byte
DayaType , Value : TMemoryStream) : Byte;
function Next : TRadiusAttribute;
function Prev : TRadiusAttribute;
end;
type
TRadiusPackage = class //Radius数据包对象
private
Code: Byte;
Identifier : Byte;
length : Word;
Authenticator : Array [0..15] of Byte;
Attributes : TRadiusAttribute;
PackageStream : TMemoryStream;
public
end;
TRadius = class //Radius协议对象
private
AuthPort :Word
//认证端口
AccPort : Word
//计费端口
Package: TRadiusPackage;
end;
implementation
end.