Связать классы ООП

  • Автор темы Автор темы R@zoR
  • Дата начала Дата начала

R@zoR

Новичок
Связать классы ООП

Есть 3 класса.
Core, Db и User.
Как легко сделать чтобы Core и User могли получить доступ к БД?
 
Задействовать говноглобалс?
В конструктор передать экземпляр?
Замутить грязный синглетон?
Заюзать паттерн реестр?
 
глобалс - не вариант.
С конструктором был вариант, какие тут минусы?
Синглетон - что это?
Реестр - попробую.
 
Автор оригинала: R@zoR С конструктором был вариант, какие тут минусы?
Скорее плюсы, так как рекомендуется работать через интерфейсы. И вообще - в ООП интерфейсы это главное. Без них объекты мертвы.
Автор оригинала: R@zoR Синглетон - что это?
Паттерн. В php синглетон глобален автоматом.
 
Синлетон один. А учить надо паттерны и их примененни. Но для начала прочитай Буча
 
Учить и применять нужно рефакторинг. А паттерны - это результат. Если же начинать с паттернов - то это фетиш :)
А Буча читать нужно, хотя и не всем. Для начала лучше Макконнелла "Совершенный код".
 
jonjonson
Паттерны подсказывают в каком направлении надо проводить рефакторинг. А кстати по рефакторингу оветую Фаулер "Рефкторинг"
 
Долгие года практики. Желательно в комманде где уже есть люди курящие его. Или читать и пытатся делать - до полного просветления.
 
Автор оригинала: jonjonson
Задействовать говноглобалс?
В конструктор передать экземпляр?
Замутить грязный синглетон?
Заюзать паттерн реестр?
ИМХО
1. глобалс при ООП моветон.
2. если надо будет еще с десяток объектов передать все в параметрах лепить? некатит.
3. именно это вернет единственный экземпляр
4. реестр то же нужно передать туда? получится двойная работа? сначала озаботиться о передаче реестра. Потом реестр озаботиться о другом екземпляре?

синглетон.

тут или
$db = DB::GetInstance()
или
$db = Singleton::GetInstance('DB");

кто как делает?
 
Просвятите неграмотного, чем вызов статических методов класса хуже синглтона в данном случае?
 
В php синглетон глобален автоматом.
Угу. Синглтоны делятся на локальные и глобальные. У одних автоматом это свойство стоит, у других ручками приходится настраивать...
Замутить грязный синглетон?
Можно и чистый. Кто на что горазд.
Скорее плюсы, так как рекомендуется работать через интерфейсы. И вообще - в ООП интерфейсы это главное. Без них объекты мертвы.
ИМХО опыта тебе не занимать.
 
Сверху