Untitled

 avatar
unknown
php
4 years ago
735 B
17
Indexable
<?php

abstract class AbstractFactory
{
    public static function getModule(string $type): AbstractModuleType
    {
        if ( $type === 'Calendar') {
            return new CalendarModuleType();
        } // другие реализации
        }  else {
            // дефолт
        }
    }

}

abstract class AbstractModuleType {
    abstract public function CalendarStrategy($prefix);
    abstract public function CalendarTimeStrategy($prefix);
}

final class CalendarModuleType extends AbstractModuleType {

    public function CalendarStrategy($prefix) {
        //реализация
    };
    public function CalendarTimeStrategy($prefix) {
        //реализация
    }; 
}
Editor is loading...