1. 팩토리 패턴
은 객체를 생성하는 특정 메서드가 있는 클래스입니다. new를 직접 사용하지 않고도 팩토리 클래스를 사용하여 객체를 생성할 수 있습니다. 이렇게 하면 생성된 객체의 유형을 변경하려면 팩토리만 변경하면 됩니다. 이 팩토리를 사용하는 모든 코드는 자동으로 변경됩니다.
다음 코드는 팩토리 클래스의 예입니다. 방정식의 서버 측은 피드백을 추가하고, 피드백 목록을 요청하고, 특정 피드백과 관련된 기사를 얻을 수 있는 데이터베이스와 PHP 페이지 세트라는 두 부분으로 구성됩니다.
IUser 인터페이스는 사용자 개체가 수행해야 하는 작업을 정의합니다.
interface IUser { function getName(); }
IUser 구현을 User라고 합니다.
class User implements IUser { public function __construct( $id ) { } public function getName() { return "Jack"; } }
UserFactory 팩토리 클래스는 IUser 개체를 생성합니다.
class UserFactory { public static function Create( $id ) { return new User( $id ); } }
테스트 코드는 User
对象,并输出 getName
의 결과를 요청합니다. 팩토리 메소드:
$pr = UserFactory::Create( 1 );echo( $pr->getName()."\n" );
팩토리 메소드를 사용하는 팩토리 패턴의 변형이 있습니다. 클래스의 이러한 공용 정적 메서드는 해당 유형의 개체를 구성합니다. 이 방법은 이 유형의 객체를 생성하는 것이 중요한 경우 유용합니다. 예를 들어, 먼저 개체를 만든 다음 여러 속성을 설정해야 한다고 가정해 보겠습니다. 이 버전의 팩토리 패턴은 프로세스를 단일 위치에 캡슐화하므로 복잡한 초기화 코드를 복사하여 코드 베이스 전체에 붙여넣을 필요가 없습니다.
아아아아위 내용은 PHP 팩토리 디자인 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!