Паттерны проектирования в PHP5. Часть 1. Синглтон.Monday, 29 October. 2007Комментарии
Показывать комментарии
(Как список | Древовидной структурой)
Про недостатки вы не правы. Если объявить метод как static private то он будет вызываться замечательно только внутри класса
#1
Santhony
on
2010-10-06 14:41
(Ответить)
Вы не поняли суть недостатка.
В unit-тестировании необходимо заменять некоторые классы их mock-прототипами для изолированного тестирования определенного функционала.
В случае синглтона, его вызов жестко прописан в коде других классов/файлов, в результате его подмена несколько затруднительна и требует определенных плясок с бубном. И область видимости метода тут абсолютно не при чем.
#1.1
Fenix
(Домашняя страница)
on
2010-10-06 17:03
(Ответить)
Есть более практичные варианты создания патерна синглтон. Мне кажется что автор просто не понял сути патерна.
#2
11
on
2010-10-14 13:06
(Ответить)
Примеры "более практичных вариантов" в студию
#2.1
Fenix
(Домашняя страница)
on
2010-10-14 17:44
(Ответить)
Здесь не хватает protected function __clon() {}
#3
Alexander Shushunov
on
2011-03-17 12:22
(Ответить)
Ну для начала не __clon(), а __clone(), и не protected, а public
#3.1
Fenix
on
2011-03-17 16:30
(Ответить)
http://alexeevdv.ru/php-shablon-proektirovaniya-singletone/ вот тут хорошо описан шаблон singletone. К тому же в этой реализации его можно наследовать и расширять
#3.1.1
Николай
on
2011-06-02 04:57
(Ответить)
Спасибо за ссылку, отличная реализация синглтона, финт ушами через Reflection понравился
#3.1.1.1
Fenix
on
2011-06-02 10:45
(Ответить)
А как же закрыть мето __clone()?
#4
Олег
(Домашняя страница)
on
2011-05-24 03:00
(Ответить)
Добавить комментарий
|
МенюБыстрый поискКатегорииГолосованияНашли себе что-то интересное на этом сайте?
Архивы Откуда пришлиАдминистрирование |