Для всех начинающих постигать основы ООП предлагаю ознакомится с основными шаблонами проектирования.
Для более опытных пользователей эта тема не создаст большого интереса, но всё же думаю они помогут новечкам разобраться в ОО структуре.
Итак поехали:
Первый шаблон: "Шаблон фабрики классов"
Чтобы было понятнее, рассмотрим применение шаблона фабрики классов на конкретном примере. Допустим, что ваш сайт предоставляет регистрацию различным видам пользователей. Один из них - гости, другие - постоянные клиенты, а третьи - администраторы. Все они наделены различными правами доступа к тем или иным участкам сайта. Как правило, в таких случаях в сценарии создаются базовый класс User и три производных класса - GuestUser, CustomerUser и AdminUser. И базовый класс, и дочерние классы могут содержать методы, позволяющие получить сведения об уровне привилегий пользователя.
Так же в архиве присутствует класс UserFactory, служащий для создания экземпляра класса, основываясь на имени пользователя.
Результат работы данного скрипта:
Права доступа пользователя Энди:
Чтение: Да
Изменениие: Да
Удаление: Да
Права доступа пользователя Стиг:
Чтение: Да
Изменениие: Нет
Удаление: Нет
Для пользователя Стиг требуется Flash-интерфейс
Права доступа пользователя Дэрик:
Чтение: Да
Изменениие: Да
Удаление: Нет
Для пользователя Дэрик требуется Flash-интерфейс
Пользователь Джонатан не зарегистрирован
Framework, mvc скорее не паттерн, а концепция. MVC реализуется паттернами проектирования.
30 Дек 2011, 6:27manyrus, +1
добавлено спустя 1 минуту:
"Для всех начинаюш постигать основы ООП"
не думаю, что постигать основы нужно с паттернов
добавлено спустя 2 минуты:
Посты 2 и 3 советую почитать Мэта Зандстру
LooK пишет:
""Для всех начинаюш постигать основы ООП"
не думаю, что постигать основы нужно с паттернов"
А почему бы и нет. Архитектура построяния классов должна быть поставленна в первую очередь, и должна иметь логический смысл.
лучше всем дружно вам выпрыгнуть с окна.
зачем плодить гк?
ща увидят умные слова напишут у себя в говнодвиге class DCMS { echo 'RULEZ!'; } у будут писать в описании использовано ООП и продавать еще на 50 рублей дороже.
Okula, "Архитектура построяния классов должна быть поставленна в первую очередь, и должна иметь
логический смысл."
Но уж не такой как в твоем примере
Ну во первых - это не мой пример, а разработчиков PHP (Гутманса, Баккена и Ретанса), сделан он максимально просто чтобы дать понять пользователям смысл шаблона "фабрики классов". Я лишь добавил туда выброс исключения, так как небыло желания писать ещё один класс для обработки ошибок.
Если для вас это говнокод то тогда спуститесь с небес и покажите нам то что по вашему будет лучшим кодом, наглядно демонстрирующем простоту понимания шаблона фабрики классов. Не думаю что вам это удасться, а болтать вы все горазды о говнокоде