Взаимодействие классов между собой

  • Автор темы FireMaster
  • Дата начала

FireMaster

Guest
Взаимодействие классов между собой

Ситуация такая:

Есть куча классов, каждый выполняет свои обязанности, т.е. класс шаблонов парсит шаблоны, класс абстракции бд работает с бд, класс вывода ошибок выводит ошибки, пишет логи при надобности ну и так далее. Так вот собственно вопрос у меня в данном случае касательно вывода ошибок - требуется чтобы ошибки эти выводились на разных языках (т.е. класс errors использует класс localization) + для вывода ошибок должен быть создан один объект для всей программы, который бы мог использоваться как в классах так и в основной программе. Пока как вариант вижу объявить его глобальным. Но может есть решения поистетичнее ?

Ну и вообще вкратце в теории как лучше организовывать взаимодействие классов между собой ? Если использовать агрегацию, то я так понимаю создается туева хуча объектов в каждом классе, а это потеря производительности, или нет ?
 

su1d

Старожил PHPClubа
Но может есть решения поистетичнее ?
есть и поэстетичнее. почитай книжек всяких по объектно-ориентированному дизайну. там много вкусного.

например Э.Гамма и др. (Gang Of Four) "Объектно-ориентированное проектирование. Паттерны проектирования".

в твоём же случае можно либо сделать класс обработки ошибок Singleton'ом, либо просто статическим. сходи в поиск (может не только на этом форуме, но и на Google) и поищи по этим ключевым словам. но всё равно, лучше б тебе книжку почитать.
 

FireMaster

Guest
Спасибо за ответ su1d. Вот нашел эту книжечку тут, это если кому-то еще понадобится. И еще, прочитал про синглтон, проникся идеей =) И в связи с этим возник вопрос, ведь это же так хороши и удобно, использовать синглтоны, плюсы все налицо, почему бы не использовать их в каждом классе, какие есть минусы от использования синглтонов ?
 

Crazy

Developer
Автор оригинала: FireMaster
И в связи с этим возник вопрос, ведь это же так хороши и удобно, использовать синглтоны, плюсы все налицо, почему бы не использовать их в каждом классе, какие есть минусы от использования синглтонов ?
Дружище, твоя фраза означает, что ты либо не понял смысл паттерна singleton, либо не понял смысла ООП вообще.

Простая аналогия: предположим, что ты открыл для себя сливочное масло и теперь кладешь его в каждое блюдо. Даже в чай. Причем нельзя сказать, что это принципиально неверно -- монголы так и пьют...
 

FireMaster

Guest
Автор оригинала: Crazy Простая аналогия: предположим, что ты открыл для себя сливочное масло и теперь кладешь его в каждое блюдо. Даже в чай. Причем нельзя сказать, что это принципиально неверно -- монголы так и пьют...
=) да, ступил я, теперь все ясно. Всем спасибо, без вас бы не разобрался !!!
 
Сверху