Я новичок в шаблон фабрики и имею следующий фабричный метод:Factory шаблон для доступа статического метода
public static function build($class) {
$class = Helper::str_lreplace("_", "_" . System_Config::getConfig("ef_platform"), $class);
return new $class;
}
Как использовать тот же шаблон фабрики, но для статического метода? Например, я следующий метод вызывает:
Order_WooExport::registerActions();
Order_WooExport::registerFilters();
, но я хочу назвать:
Order_WPExport::registerActions();
Order_WPExport::registerFilters();
в зависимости от значения System_Config::getConfig("ef_platform");
Статические заводы (и действительно статические anythings) являются antipattern. Вместо этого создайте экземпляр фабричного класса, который можно впрыснуть, поскольку это обеспечивает свободную связь. Если вы хотите набрать ключ для чего-то, используйте интерфейс. – DaveRandom
[Пример описанного выше шаблона] (http://codepad.org/L1yqspQO). – DaveRandom