PHP · 패턴
Repository 패턴
저장소 접근 방식을 인터페이스 뒤로 숨기는 repository 패턴 예제입니다.
패턴중급repositoryinterfacepersistence
핵심 설명
저장소 접근 방식을 인터페이스 뒤로 숨기는 repository 패턴 예제입니다.
PHP code
<?php
interface UserRepository {
public function findById(int $id): ?array;
}
class InMemoryUserRepository implements UserRepository {
public function __construct(private array $rows) {}
public function findById(int $id): ?array {
foreach ($this->rows as $row) {
if ($row['id'] === $id) return $row;
}
return null;
}
}
var_dump((new InMemoryUserRepository([['id' => 1]]))->findById(1));학습 팁
패턴 예제는 클래스 수보다 의존성 방향과 책임 분리를 중심으로 읽는 것이 더 중요합니다.
주의할 점
패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.
자주 묻는 질문
Repository 패턴란 무엇인가요?
저장소 접근 방식을 인터페이스 뒤로 숨기는 repository 패턴 예제입니다.
Repository 패턴 학습 시 주의할 점은 무엇인가요?
패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.
Continue Learning
PHP 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.