定義一個工廠類,簡單工廠模式它可以根據參數的不同返回不同類別的實例,而被建立的實例通常都具有共同的父類。因為在簡單工廠模式中用來建立實例的方法是靜態(static)方法,因此簡單工廠模式又被稱為靜態工廠方法(Static Factory Method)模式,它屬於類別創建型模式。
/** *简单工厂模式 * */ abstract class userProperties { function getUsername() { } function getGender() { } function getJob() { } } class User extends userProperties { private $username; private $gender; private $job; public function __construct($username, $gender, $job) { $this->username = $username; $this->gender = $gender; $this->job = $job; } public function getUsername() { return $this->username; } public function getGender() { return $this->gender; } public function getJob() { return $this->job; } } class userFactory { public static function createUser($properties = []) { return new User($properties['username'], $properties['gender'], $properties['job']); } } $employers = [ ['username' => 'Jack', 'gender' => 'male', 'job' => 'coder'], ['username' => 'Marry', 'gender' => 'female', 'job' => 'designer'], ]; $user = userFactory::createUser($employers[0]); echo $user->getUsername();
簡單工廠模式提供了專門的工廠類別用於創建對象,將對象的創建和對象的使用分離開,它作為一種最簡單的工廠模式在軟體開發中得到了較為廣泛的應用
相關推薦:
以上是PHP設計模式之簡單工廠模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!