OOP에서 PHP 마녀는 성능 및 단위 테스트와 관련하여 팩토리를 반환하거나 새 인스턴스 또는 동일한 인스턴스를 반환하는 것이 좋습니다.PHP : 동일한 인스턴스를 반환하는 것과 새로운 인스턴스를 반환하는 것
예 : 나쁜 연습으로 간주되는 클래스가 사용될 때마다 새로운 인스턴스를 생성하고 있습니까?
OOP에서 PHP 마녀는 성능 및 단위 테스트와 관련하여 팩토리를 반환하거나 새 인스턴스 또는 동일한 인스턴스를 반환하는 것이 좋습니다.PHP : 동일한 인스턴스를 반환하는 것과 새로운 인스턴스를 반환하는 것
예 : 나쁜 연습으로 간주되는 클래스가 사용될 때마다 새로운 인스턴스를 생성하고 있습니까?
팩토리가 동일한 인스턴스를 반환하지 못하게하려고합니다. 새로운 인스턴스를 반환하기를 원합니다. 그것은 공장의 핵심입니다. Singletons have no use in PHP. 인스턴스를 하나의 인스턴스로 제한하려면 한 번 인스턴스를 만들고 필요한 곳에 주입하십시오.
동일한 인스턴스를 반환하거나 새 인스턴스를 만들 때 성능면에서 무시해도 좋습니다. 즉, 데이터베이스에 연결하는 것과 같이 매우 비용이 많이 드는 작업을 수행하지 않는 한, 어쨌든해야 할 일은 없습니다.
단위 테스트의 경우, 팩토리는 전역 상태가 될 수 있으므로 동일한 인스턴스가 아닌 새로운 인스턴스를 반환해야합니다. 테스트는 고립되어 일어나는 것이지, 이전 테스트의 일부 인스턴스 상태가 여전히 오류 발생 가능성이 있기 때문에 발생하지 않아야합니다.
같은 인스턴스를 반환하면 Singleton Pattern에 가장 적합합니다. 공장은 그들이 반환하는 것을 신경 쓰지 않아야한다.
팩토리가 데이터베이스 연결을 반환하는 경우 새 팩토리를 만드는 대신 단일 연결을 반환하는 것이 가장 좋습니다.