mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-16 00:05:53 +01:00
50 lines
927 B
ObjectPascal
50 lines
927 B
ObjectPascal
unit Controllers.Base;
|
|
|
|
interface
|
|
|
|
uses
|
|
MVCFramework, Services, MainDM;
|
|
|
|
type
|
|
TBaseController = class abstract(TMVCController)
|
|
strict private
|
|
FDM: TdmMain;
|
|
FArticlesService: TArticlesService;
|
|
function GetDataModule: TdmMain;
|
|
strict protected
|
|
function GetArticlesService: TArticlesService;
|
|
public
|
|
destructor Destroy; override;
|
|
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
System.SysUtils;
|
|
|
|
{ TBaseController }
|
|
|
|
destructor TBaseController.Destroy;
|
|
begin
|
|
FArticlesService.Free;
|
|
FDM.Free;
|
|
inherited;
|
|
end;
|
|
|
|
function TBaseController.GetArticlesService: TArticlesService;
|
|
begin
|
|
if not Assigned(FArticlesService) then
|
|
FArticlesService := TArticlesService.Create(GetDataModule);
|
|
Result := FArticlesService;
|
|
end;
|
|
|
|
function TBaseController.GetDataModule: TdmMain;
|
|
begin
|
|
if not Assigned(FDM) then
|
|
FDM := TdmMain.Create(nil);
|
|
Result := FDM;
|
|
end;
|
|
|
|
end.
|