взаимодействие классов

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

Novice

Новичок
взаимодействие классов

Допустим есть классы, которые используются в проекте:

error - обработка ошибок
file - для работы с filesystem
db - для работы с БД
site - класс "сайт"
module - класс "модуль"
guestbook - гостевая
.......

Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site. Использование glodal тоже нежелательно.

Насколько корявым является след. подход:


class error {
...
}

class file extends error {
...
}

class db extends error {
...
}

class site extends db {
...
}

class module extends site {
...
}

class guestbook extends module {
...
}

Наверняка есть решения получше, хотелось бы услышать о них, использование возможностей 5-ой версии приветствуются.
 
>Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site.

Т.е. ты решил создать себе проблему, чтобы потом с треском ее преодолевать?
 
Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?
 
>Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?

Если ты думашь, что создание объекта внутри метода разрушит всю концепцию твоего чрезвычайно объектного кода, то ты ошибаешся.
Поэтому, лично я проблемы не вижу.
 
мне нравятся такие OOP'шники.

Novice
Если можешь, избавь меня от этой проблемы. Или ты предлагаешь забыть мне про ооп?
таким способом ты свое OOP загоняешь куда подальше.
Хотелось бы при использовании системных классов (db, file, error...) не создавать их экземпляры в методах модулей или в том же классе module или site. Использование glodal тоже нежелательно.
http://phppatterns.com/index.php/article/articleview/6/1/1/
 
Сверху