[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите пару задач по ООП
inpost
Всем привет. Подскажите парочку задач простых для начинающих по ООП.
Первый блок: Наследование, интерфейсы, абстрактные классы и т.д. (всё кроме знания патернов).
Второй блок: Любые патерны.

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

Желательно не только назвать задачу, но и ещё что в ней применить и для чего.

Спасибо!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Arh
Цитата
Первый блок: Наследование, интерфейсы, абстрактные классы и т.д. (всё кроме знания патернов)

1 этап. Например написать класс кэша, что бы проект спокойно переключать между кешированием на файлах и кэшированием в редис/мемкеш/бд.
Нужен интерфейс Cache и от него реализованные классы CacheFile, CacheMem, CacheDB типа того.
2 этап. Шаблон DIC. Что бы на практике менять класс кэша =)
ну типа $DI->set('Cache', new CacheFile)



_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
inpost
Желательно несколько вариантов. Всё дело в том, что задача по кэшу уже есть. Их очень мало, но несколько присутствуют. Я почему-то подумал, что если я назову имеющиеся задачи, то я замкну мысли именно на них, хотя не знаю как правильно ph34r.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Arh
inpost
Просто на мой взгляд понятие профита от ООП приходит когда начинаешь использовать DIC.
Ну а DIC без наследования или расширения классов по сути не имеет смысла, да по сути то в ООП без DIC смысла мало =)
Так что я бы даже в обратном порядке начал. Сначала DIC, а потом на нём уже наглядно реализация любого класса на основе интерфейса.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 31.01.2017 - 12:57)
Просто на мой взгляд понятие профита от ООП приходит когда начинаешь использовать DIC
biggrin.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Arh
twin
laugh.gif

нахоливарь мне тут ещё mad.gif

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Guest
Здравствуйте. Я хочу заказать кофе с сахаром, шоколадом и сливками. Сколько с меня?
Работа не иначе как для паттерна Декоратор.

Я хочу заказать кофе в автомате. Я слышал, что конечные автоматы реализуются паттерном State.

А теперь я хочу заказать кофе в автомате с сахаром, шоколадом и сливками. О, нам нужно объединить два паттерна Декоратор и Состояние!

Дальше лень.
inpost
Guest
Ну вот потом и будут все знать как сделать кофеварку, а не сайты на PHP laugh.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
chee
Ну таки сделать программу разархиватор, передаешь файл, а в зависимости от расширения выбирается объект через фабрику, который будет распоковывать.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
S.Chushkin
Цитата (inpost @ 6.02.2017 - 20:43)
Guest
Ну вот потом и будут все знать как сделать кофеварку, а не сайты на PHP  laugh.gif

Ну вот тебе желаемая тема.
Вводная: Есть сайт с множеством страниц. Среди них есть страница "О сайте".
Задача: Создать макет показа этой страницы посетителю, используя ООП.
(можно расписать подробнее, если надо)

Именно макет, конкретная/подробная реализация не нужна, ибо это долго. Макет достаточен для оценки уровня и там будет всё, что должен знать кандидат об ООП.

Если кандидат не сможет это сделать (>90% ошибок или недоделок) за приемлемое время, то это "студент";
если сделает 90-50% ошибок&недоделок, то это юниор (разной степени);
если 20-50%, это мидл (разной степени);
если 5-20%, то это ведущий разраб (разной крутости);
если <5%, то это супер-разраб;
если безошибочно и полный функционал, то это гений smile.gif

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Arh
S.Chushkin
Я так понял он хочет обучать людей, а не спорить о вкусах реализации задачи.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
S.Chushkin
Хм, значит я не понял, что задачи нужны для обучения. Я думал для тестирования.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Ron
Цитата (S.Chushkin @ 7.02.2017 - 09:27)
Создать макет показа этой страницы посетителю, используя ООП.

Что значит макет? Я например вообще не понимаю задачу. Макет доменной модели простого интернет магазина. Что такое макет показа страницы ХЗ. ))) Меня не возьмут в джуны? <:'(

inpost, по первому блоку трудно придумать задачи, потому что ООП вообще без паттернов смысла не имеет никакого. Можно свои придумать, да, но они от этого не перестанут быть паттернами.

Я бы первый и второй блок гнал по паттернам, просто в первом совсем простенькие, типа одиночки, фабрики и т.д. (согласен с chee)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.