{% else-1 %}
Обновить
* Тема закрыта!
1.
Fallen * 10.22
[автор] (15 ноя 2013, 16:35) [0/0] [0] [спам] [под]

Вопрос к знатокам.
Стоит ли использавать шаблон проектирования, типа Фабрика?

<?php
class Example {
//Параметризированный фабричный метод
public static function factory($type) {
if (include_once \'Drivers/\' . $type . \'.php\') { $classname = \'Driver_\' . $type; return new $classname;
} else {
throw new Exception(\'Драйвер не найден\'); } } }
?>

для быстрой подгрузки классов, так как я размещаю каждый тип классов, в разных файла.

Что скажете?


Изм. 1 раз. / Посл. изм.
Fallen * 10.22
(15 ноя 2013, 16:37)
2.
Fallen * 10.22
[автор] (16 ноя 2013, 21:17) [0/0] [0] [спам] [под]

аппппп

3.
bibilink * 19.01
(16 ноя 2013, 21:23) [0/0] [0] [спам] [под]

лично я за такое пока не берусь,т.к такие методы в ООП попросту не востребованы для написания обычных скриптов.. и начинающий программист будет это использовать только как \"чтото новенькое\" но уж не как для оптимизации или удобства

4.
Fallen * 10.22
[автор] (16 ноя 2013, 22:34) [0/0] [0] [спам] [под]

[VITAMIN], ну хз, у меня более 20 классов, которые я использую, представь себе 20 инклудов

5.
bibilink * 19.01
(16 ноя 2013, 22:41) [0/0] [0] [спам] [под]

cloudfire, а не лучше просто ложить больше обьектов в классы? Думаешь будет быстрее если каждый класс (драйвер) ложить в отдельный файл?
Добавлено 16.11.13 в 22:42:05:
Хотя,ради интереса,можно с этим побаловаться,есть еще метод Синглов,читани

6.
Fallen * 10.22
[автор] (16 ноя 2013, 22:49) [0/0] [0] [спам] [под]

[VITAMIN], про синглы читал, но не рекомендуют их использование, у меня так файлы делятся, а по типам, тобишь классы работы с временем в одном файле, для работы с шаблонами в другом, для работы с файлами в третьем, ну и т.д.

7.
Fallen * 10.22
[автор] (17 ноя 2013, 00:48) [0/0] [0] [спам] [под]

[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(\'Класс не найден\');
}
}
}

?>

8. (18 ноя 2013, 11:17) [0/0] [0] [спам] [под]
Fallen,

Не стоит,почитай про автоподгрузку классов,тобишь функцию autoload

9.
Fallen * 10.22
[автор] (18 ноя 2013, 11:19) [0/0] [0] [спам] [под]

UA95, автолоад уг, я уже заюзал этотт метод на свой лад *

10. (18 ноя 2013, 11:22) [0/0] [0] [спам] [под]
Fallen,

Что не устроило?

Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений