2012-06-29 4 views

답변

3

팩토리가 동일한 인스턴스를 반환하지 못하게하려고합니다. 새로운 인스턴스를 반환하기를 원합니다. 그것은 공장의 핵심입니다. Singletons have no use in PHP. 인스턴스를 하나의 인스턴스로 제한하려면 한 번 인스턴스를 만들고 필요한 곳에 주입하십시오.

동일한 인스턴스를 반환하거나 새 인스턴스를 만들 때 성능면에서 무시해도 좋습니다. 즉, 데이터베이스에 연결하는 것과 같이 매우 비용이 많이 드는 작업을 수행하지 않는 한, 어쨌든해야 할 일은 없습니다.

단위 테스트의 경우, 팩토리는 전역 상태가 될 수 있으므로 동일한 인스턴스가 아닌 새로운 인스턴스를 반환해야합니다. 테스트는 고립되어 일어나는 것이지, 이전 테스트의 일부 인스턴스 상태가 여전히 오류 발생 가능성이 있기 때문에 발생하지 않아야합니다.

1

같은 인스턴스를 반환하면 Singleton Pattern에 가장 적합합니다. 공장은 그들이 반환하는 것을 신경 쓰지 않아야한다.

팩토리가 데이터베이스 연결을 반환하는 경우 새 팩토리를 만드는 대신 단일 연결을 반환하는 것이 가장 좋습니다.

관련 문제