Módulos certos e acoplamento
FT-Forum :: Informática :: Programação :: Delphi
Módulos certos e acoplamento
Módulos Básicos e Acoplamento
Foi construida uma unidade seguindo as normas da orientação para objetos chamada USE. (Unidade de Sistema Especialista) Nesta unidade não é declarada nenhuma variável global ou local nem foi instanciada nenhuma classe. Estruturas de memória são todas locais e declaradas em métodos sendo sua vida limitada à execução de cada método.
A classe normalmente instanciada em uma aplicação que use a unidade USE é a classe TMotorCmd. TMotorCmd pode executar todos os comandos descritos no manual do usuário.
TMotorCmd é descendente de TMotorStr que é descendente TMotor.
TMotor é uma classe que incorpora um sistema especialista em que as regras são conjuntos de words e os fatos são representados por words. Vale observar que a comunicação com pessoas usando words é no mínimo constrangedora. Para este fim, foram construidas duas camadas (cascas implementadas como classes descendentes) permitindo uma comunicação por strings de caracteres.
Segue a declaração da classe TMotor:
type TMotor = object { motor que trabalha com words }Segue a declaração da classe TMotorStr:
BRegras:TBaseRegras;
BFatos:TBaseFatos;
OnFindFact:TOnFindFact;
constructor Init(POnFindFact:TOnFindFact);
destructor Done;
procedure SetaFato(F:TFato);
function EFato(F:TFato):boolean;
{ testa fato }
procedure Run;
procedure AddRegra(R:TRegra);
{ adiciona uma regra }
end;
Segue a declaração da classe TMotorCMD:
type TMotorStr = object (TMotor) { motor com casca para
strings }
SW:TIntStr; { converte strings em words }
constructor Init(POnFindFact:TOnFindFact);
destructor Done;
procedure SetaFatoStr(FS:string);
function EFatoStr(FS:string):boolean;
procedure AddRegraStr(RS:string);
function GetRegraStr(R:TRegra):string;
{ transforma TRegra em String }
end;
type TMotorCmd = object (TMotorStr)
{ motor por linha de comando }
function ExecCmd(S:string):boolean;
{ executa um comando }
function LoadFromFile(FileName:string):boolean;
{ le um arquivo de comandos }
end;
Em camadas:
TmotorCmd |
TmotorStr |
Tmotor |
Base de Fatos e Base de Regras |
PsyAdministrador - Posts : 35
Localização : Em frente do PC
FT-Forum :: Informática :: Programação :: Delphi