Вопрос к знатокам.
Стоит ли использавать шаблон проектирования, типа Фабрика?
<?php
class Example {
//Параметризированный фабричный метод
public static function factory($type) {
if (include_once \'Drivers/\' . $type . \'.php\') { $classname = \'Driver_\' . $type; return new $classname;
} else {
throw new Exception(\'Драйвер не найден\'); } } }
?>
для быстрой подгрузки классов, так как я размещаю каждый тип классов, в разных файла.
Что скажете?
лично я за такое пока не берусь,т.к такие методы в ООП попросту не востребованы для написания обычных скриптов.. и начинающий программист будет это использовать только как \"чтото новенькое\" но уж не как для оптимизации или удобства
[VITAMIN], ну хз, у меня более 20 классов, которые я использую, представь себе 20 инклудов
cloudfire, а не лучше просто ложить больше обьектов в классы? Думаешь будет быстрее если каждый класс (драйвер) ложить в отдельный файл?
Добавлено 16.11.13 в 22:42:05:
Хотя,ради интереса,можно с этим побаловаться,есть еще метод Синглов,читани
[VITAMIN], про синглы читал, но не рекомендуют их использование, у меня так файлы делятся, а по типам, тобишь классы работы с временем в одном файле, для работы с шаблонами в другом, для работы с файлами в третьем, ну и т.д.
[VITAMIN], собственно попробовал применить на практике, вроде.удобненько ))
<?php
include \'system/core.php\';
$temp = Core::aclass(\'template\');
$temp->header(\'hello\');
?>
всеже лучше чем, овер 9000 инклудов ))
Добавлено 17.11.13 в 00:51:14:
да и класс довольно прост ))
<?php
class Core {
public static function aclass($type) {
if (require_once \'class/\'.$type.\'.php\') {
$classname = $type;
return new $classname;
} else {
throw new Exception(\'Класс не найден\');
}
}
}
?>
Не стоит,почитай про автоподгрузку классов,тобишь функцию autoload
UA95, автолоад уг, я уже заюзал этотт метод на свой лад