|
|
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
Посоветовали начать с Singleton. читаю и вот собственно этот самый паттерн Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. не могу понять его предназначение и что он делает. похоже что это самый простой патерн. можете пожалуйста объяснить на каком нибудь реальном примере ? а то из этого мало что понятно автор Singleton Pattern — один из наиболее известных шаблонов проектирования. Почти в любой объктно-ориентированной программе обычно существует один-два объекта, которые инициализируются в начале, и используются на всем протяжении работы приложения. Таким объектом может быть, logger — объект для ведения log-ов (log в переводе с англ. — журнал). Так в случае с log-ами, нам нет нужды каждый раз создавать объект класса logger, лишь для того, чтобы произвести запись в журнал. Достаточно создать один экземпляр класса, в начале работы программы, и пользоваться им. Такие классы (как например logger) будем называть singleton классами. Важно отметить, что singleton pattern также решает еще одну наболевшую задачу. Часто бывает так, что мы передаем в функцию (метод) параметр лишь для того, чтоб эта функция передала этот параметр еще дальше. Или же несколько частей программы постоянно нуждаються в «свежей» информации о состоянии объекта, который меняется по ходу работы; тогда снова и снова приходиться передавать объект как параметр. Конечно, если такая ситуация возникает пару раз за всю работу приложения, можно не обращать на это внимания. Но, если один и тот же объект бестолково «футболяется» между всеми модулями и функциями программы, может возникнуть страшная путаница и, как следствие, ошибки. В таких ситуациях следует использовать singleton класс. Вместо того, чтоб передавать по цепочке объект из функции в функцию, singleton pattern обеспечивает возможность, каждой части програмы, получить по ссылке единственный для всей программы объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 23:13 |
|
||
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
итить. иногда нужно чтобы объект был ОДИН всегда. чтобы ресурсы не занимать. вот это и обеспечивает синглтон. типичный пример - соединение с базой данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2010, 23:34 |
|
||
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
жесть сколько же их О_о http://en.wikipedia.org/wiki/Design_pattern_(computer_science) а на какой патерн можно перевести сайт/каталог ? что изучать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 00:01 |
|
||
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
Начни с MVC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 00:06 |
|
||
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
TWK, это не синглтон, а ленивый синглтон. RTFM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2010, 00:55 |
|
||
|
Паттерны проектирования
|
|||
|---|---|---|---|
|
#18+
В википедии целый раздел по паттернам проектирования с примерами на php! Я разбирался с паттернами тут ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2012, 10:52 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=36842113&tid=1464354]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 381ms |

| 0 / 0 |
