글쎄, 실제로 Factory Pattern
이 문제를 해결하기 위해 팩토리 메소드를 사용하는 creational pattern
입니다 (예 : run-time
에서 객체를 동적으로 생성한다는 것을 의미합니다. 이 패턴은 클라이언트 클래스가 런타임에 빌드 된 동적 클래스를 사용할 수있게하는 객체 생성 메커니즘을 처리하는 데 사용됩니다. 이 패턴은 팩토리 메소드 (abstract)를 사용하며이 메소드는 빌드 된 객체를 사용하는 클라이언트 클래스의 요청에 따라 다른 클래스/객체를 사용하여 객체를 빌드합니다. 어쨌든 넓은 의미입니다.
따라야 할 패턴과 같은 디자인 패턴을 생각하는 대신 클래스의 유스 케이스를 찾아 적절히 사용하십시오. 대부분 Eloquent
ORM을 확장하는 클래스로 Model
을 의미 했으므로이 경우에는 Eloquent ORM
을 확장하면 해당 모델 클래스에 이미 해당 메소드가 있으므로 비즈니스 로직 및 DB 레이어를 구분할 필요가 없도록 할 수 있습니다. 클래스를 종속 클래스로 사용하여 데이터베이스 계층 클래스에서 메서드를 호출 할 수있는 일반 클래스를 사용하십시오. 어쨌든 혼란스럽게 들릴지도 모릅니다.
디렉토리 구조를 어떻게 구성 할 것인가에 대해서는 단지 SoC 정도만 생각하면 깨끗한 응용 프로그램 아키텍처 패턴에 대해 충분히 이해할 수 있습니다. 디자인 패턴이 너무 깊다고 생각하지 말고 깨끗한 응용 프로그램 모델을 생각해보십시오. 아마 this article may help you 약간 (특히 Laravel
및 Repository Pattern
를 사용하여 논의 됨).
Factory Pattern
의 경우 this 간단하지만 도움이되는 기사를 확인할 수 있습니다.