Creational --- Multiton
Purpose
To have only a list of named instances that are used, like a singleton but with n instances.
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。Multiton.php
<?php namespace DesignPatterns\Creational\Multiton; final class Multiton { const INSTANCE_1 = '1'; const INSTANCE_2 = '2'; /** * @var Multiton[] */ private static $instances = []; /** * this is private to prevent from creating arbitrary instances */ private function __construct() { } public static function getInstance(string $instanceName): Multiton { if (!isset(self::$instances[$instanceName])) { self::$instances[$instanceName] = new self(); } return self::$instances[$instanceName]; } /** * prevent instance from being cloned */ private function __clone() { } /** * prevent instance from being unserialized */ private function __wakeup() { } }

更多精彩