PHP 응용 프로그램을 리팩토링하고 있으며 가능한 많은 의존성 주입 (DI) 을 수행하려고 합니다.
나는 그것이 어떻게 작동하는지 잘 이해하고 있다고 느끼며, 수업이 훨씬 더 얇고 강건 해짐을 확실히 알 수 있습니다.
클래스 내에서 새 객체를 만드는 대신 종속성을 주입 할 수 있도록 리팩토링하고 있지만 어느 시점에서 일부 객체를 만들어야합니다. 즉, dreaded new
키워드를 사용해야합니다 .
내가 지금 겪고있는 문제는 실제로 어떤 시점에서 새 객체를 만들 수 있습니까? 다른 클래스가 없어서 많은 새로운 객체를 생성하는 최상위 클래스로 끝날 것 같습니다. 이것은 잘못 느낀다.
팩토리 클래스 를 사용하여 모든 객체를 만든 블로그를 읽은 다음 팩토리를 다른 클래스에 주입합니다. 그런 다음 팩토리 메소드를 호출하면 팩토리가 새 오브젝트를 작성합니다.
이 작업에 대한 나의 관심은 이제 공장 수업이 new
모두 무료 가 될 것입니다 ! 팩토리 클래스이므로 괜찮을 것 같지만 팩토리 패턴과 DI를 사용할 때 지켜야 할 규칙이 있습니까? 아니면 여기서 마크를 벗어나 있습니까?
new
합니다. 물론 IoC 컨테이너를 호출해야하는 진입 점이 몇 개 있지만 많지 않아야합니다. 일반적으로 IoC를 한 번 구성한 다음 요청 당 하나의 클래스를 해결하도록 요청합니다. MVC의 경우 일반적으로 컨트롤러입니다.