Я тут намедне, сам не зная для чего, сочинил для своего фреймворка Active Record. Ну, а чтобы не зря, попробую извлечь отсюда пользу.
Итак, сейчас будет атракцион невиданной щедрости. Чайник в ООП научит вас, прожженых оопэшников, настоящему ООП, а не какому то там, прости Господи, транзакшен скрипту, который они пытаются выдать за чистую монету.
Шучу. Просто хочу разобраться на практике, как правильно проектировать приложение, чтобы оно реально отвечало требованиям Объектного программирования, а не было бы обычной процедуркой на объектах.
Сначала нужно разобраться, что есть ООП. Я еще два года назад пытался разобраться, что это. Но толком не смог, так как нет в природе однозначного его толкования.
Однако можно просто пойти от обратного. Посмотреть, что есть процедурное программирование. Это вовсе не отсутствие классов и объектов, как многие думают. Если функционал разбит и инкапсулирован по объектам, это еще не всё. Это просто процедуры. Если они, процедуры, вызываются по очереди, линейно, то это и есть процедурное программирование, какими бы паттернами их не колбасили. Особенно весело смотрится в этом свете контейнер зависимостей. Это ни что иное, как способ глобального доступа к процедуре в любом месте программы. Настоящее ООП должно быть параллельным.
Ну да оставим лирику. Нужно только еще отметить, что чистого ООП в природе не бывает. Я имею ввиду PHP конечно, а не объектные языки типа смалтолк и иже с ним.
Так вот. Сейчас я, на глазах у всех, попробую написать маленький интернет-магазинчик, стараясь придерживаться "чистого ООП". А заодно проверю в боевых условиях свою поделку. А так же попробую проанализировать пользу/вред этой методологии.
Приглашаю поучаствовать чайников вопросами, гуру - советами. Так, как я сам в этом чайник, и разбираться буду по ходу дела, может получиться интересно и полезно.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.