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 중국어 웹사이트의 기타 관련 기사를 참조하세요!