1
아래 스 니펫에는 동일한 프로 시저 이름을 가진 두 개의 클래스가 있습니다. 이 절차의 코드는 실질적으로 다릅니다. 이 수업을보다 쉽게 유지 보수하고 향후 개선 할 수 있도록 통합 할 수 있습니까? 아니면이를 수용할만한 방식으로 진행할 수 있습니까?여러 클래스를 통합하는 모범 사례
type
TMFRCore = class
private
FGridMain: TNextGrid;
FGridSummary: TNextGrid;
public
constructor Create(Grid: TNextGrid; SummaryGrid: TNextGrid);
destructor Destroy; override;
procedure SetRowColour(Grid: TNextGrid; Row: Integer; Color: TColor; Start: Integer = 0);
procedure OnSummaryDblClick(Sender: TObject);
function GetSectionId(Section: String): Integer;
property GridMain: TNextGrid read FGridMain write FGridMain;
property GridSummary: TNextGrid read FGridSummary write FGridSummary;
end;
type
TMFRDates = class(TMFRCore)
public
procedure UpdateSummary;
procedure UpdateMain(const sAircraft: string);
end;
type
TMFRHours = class(TMFRCore)
public
procedure UpdateSummary;
procedure UpdateMain(const sAircraft: string);
end;
이러한 클래스는 다음과 같이 초기화됩니다.
procedure TfrmMain.FormCreate(Sender: TObject);
begin
MFRHours := TMFRHours.Create(gridHours, gridHoursSummary);
MFRDates := TMFRDates.Create(gridDates, gridDatesSummary);
end;
답장을 보내 주셔서 감사합니다. 나는 내가가는 길을 계속할 것 같아. 마침내 내 경로가 대중에게 받아 들여질 수있는 델파이에서 진전을 이뤄내는 것이 좋습니다. :) – Dan