Interface를 활용한 의존성 주입 구조 만들기
Interface를 사용하면 클래스 구현에 의존하지 않고 코드를 작성할 수 있어,
유지보수성과 확장성이 높아집니다.
델파이에서는 인터페이스 기반 설계를 통해 DI(Dependency Injection) 패턴을 쉽게
구현할 수 있습니다.
type
IPrinter = interface
['{3B770F50-22DA-4E69-8F28-56FA4E09B307}']
procedure Print;
end;
TConsolePrinter = class(TInterfacedObject, IPrinter)
procedure Print;
end;
TService = class
private
FPrinter: IPrinter;
public
constructor Create(APrinter: IPrinter);
procedure DoWork;
end;
procedure TConsolePrinter.Print;
begin
Writeln('콘솔에 출력합니다.');
end;
constructor TService.Create(APrinter: IPrinter);
begin
FPrinter := APrinter;
end;
procedure TService.DoWork;
begin
FPrinter.Print;
end;
procedure RunDIExample;
var
Service: TService;
begin
Service := TService.Create(TConsolePrinter.Create);
Service.DoWork; // 결과: 콘솔에 출력합니다.
end;
● 인터페이스로 유연한 설계 구현 가능
● 테스트 코드 작성, Mock 객체 대체, 기능 확장 등에 유리
● TInterfacedObject로 메모리 자동 관리

'Delphi > 문법' 카테고리의 다른 글
Record Helper를 사용한 레코드 기능 확장 (0) | 2025.03.26 |
---|---|
Format 함수를 활용한 문자열 포맷팅 (0) | 2025.03.25 |
익명 메서드(Anonymous Method) 활용하기 (0) | 2025.03.20 |
상속이란? (0) | 2025.02.10 |
델파이 포인터 사용 팁 (0) | 2024.07.04 |
댓글