Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 此设计模式的名称(循环调用类)_Php_Oop_Design Patterns - Fatal编程技术网

Php 此设计模式的名称(循环调用类)

Php 此设计模式的名称(循环调用类),php,oop,design-patterns,Php,Oop,Design Patterns,我上过写作课加载器类将通过foreach$tasks调用多个类 这个设计模式有名字吗 装载机 class Loader { public function handle() { $tasks = [ DoSomethingFirst::class, DoSomethingSecond::class, ]; foreach ($tasks as $task) {

我上过写作课<代码>加载器类将通过foreach
$tasks调用多个类

这个设计模式有名字吗

装载机

class Loader
{
    public function handle() 
    {
        $tasks = [
            DoSomethingFirst::class,
            DoSomethingSecond::class,
        ];

        foreach ($tasks as $task)
        {
            (new $task)->handle();
         }
    }
}
通过加载器调用

class DoSomethingFirst
{
    public function handle() { //do something }
}

class DoSomethingSecond
{
    public function handle() { //do something }
}

如果每个
$task
是独立的,您可以将您的解决方案看作是命令模式的实现

根据,命令模式有助于解决以下问题:

需要向对象发出请求,而不知道所请求的操作或请求的接收者


因此,在您的用例中,
Loader
创建请求对象,并且不知道这些请求是如何在内部执行的。

多态性?