Обзор: ООП где-то рядом ч.3.
(Бывшая тема "ООП с самого начала")
Тут ч.1:
http://forum.php.su/topic.php?fo...33&topic=744
Тут ч.2:
http://forum.php.su/topic.php?fo...33&topic=755
1. Полемическая сказочка на ночь (версия 1 - процедурная)
Жили-были в одном подъезде на одной лестничной площадке Вася и Маша.
И у них была одинаковая дата рождения. И вот Вася, как истинный жентэльмэн,
решил сделать Маше сюрприз и отправился в магазин за подарком.
А надо сказать что Вася этот подарок уже очень давно присмотрел,
да вот денег у него мало было для немедленной покупки.
Поэтому наш герой добросовестно больше полугода откладывал на этот подарок,
в копилку складывая карманные деньги, которые давали ему родители.
И вот настал час. Мчится Вася по улицам к магазину с замиранием сердца.
Перебегает все дороги "на красный", торопится..
Залетел в магазин, немного отдышался и нырнул к прилавку, к заветному подарку..
А подарка то и нет...
Продавец говорит что взяли только-только, минут десять назад.
И побрел наш Вася опустив голову, обратно домой, не сделает он сюрприза для Маши...
2. Полемическая сказочка на ночь (версия 2 - объектная)
Жили-были в одном подъезде на одной лестничной площадке Вася и Маша.
И у них была одинаковая дата рождения. Об этом знал весь квартал.
Вася и маша дружили с самого раннего детства. Об этом тоже знал весь квартал.
И вот Вася, увидев впервые случайно в магазине одну вещь, понял,
что это и есть самый лучший подарок для Маши на её день рождения.
Однако не имея при себе такое количество денег,
Вася попросил продавца отложить эту вещь под прилавок и приберечь её для того,
чтобы он мог купить сразу как только сможет. Продавец прекрасно знал Васю (и Машу тоже)
и конечно же согласился выполнить Васину просьбу.
Вася добросовестно больше полугода откладывал на этот подарок,
в копилку складывая карманные деньги, которые давали ему родители.
И вот настал час. Идет уверенный в себе Вася по улицам к магазину, счастливый.
Переходит все дороги только "на зеленый" и только по "зебре", не торопится..
Зайдя в магазин, здоровается с знакомым продавцом, обменивается взаимным уважением.
Продавец достает из под прилавка сохраненный подарок и продает его Васе.
Тут и сказки конец, думаю и так все уже ясно...
3. Опять полемика
Когда я писал две версии одной сказки, я думал о программировании.
Первая сказка указывает на процедурный подход, когда приходится в одном потоке следить за многими параметрами.
В таком случае очень велик процент ошибки действия или вы просто опоздаете как Вася.
Вторая же сказка говорит о том, что перед тем как садиться за клавиатуру и творить, следует все очень
досконально продумать наперёд и разделить логику на независимые части (методы или цепочки методов).
После чего вы будете знать каждый шаг, который необходимо сделать для достижения цели,
и совершенно спокойно и уверенно приметесь за написание кода, который к тому же будет намного понятнее процедурного.
4. Быдлокод
Как говорили многие из гуру тут на форуме - от быдлокода вас избавит только практика.
Это только ваши грабли, ваши лбы и ваши синяки и шишки.
Если говорить о том "как" должно выглядеть правильное web-приложение, то четкого ответа нет.
Однако есть несколько пунктов, которые стоит соблюдать всегда и при любых обстоятельствах.
Вот они:
1) Используйте табуляцию, придерживайтесь одного стиля написания.
2) Комментируйте все действия в коде, будто вы пишете не для себя, а для обезьяны-камикадзе с гранатой,
которая от любого непонятного символа в коде, одной рукой хватается за чеку, другой держит вас за волосы, чтобы вы не сбежали.
Не поможет даже тот факт что вы побрились налысо, когти у нее острые, а скальп у вас мягкий.
3) Сначала логика, затем вывод готовых данных. Это значит что в то время, когда работает логическая часть приложения,
в буфер не должно сбросится ни одного хтмл-тега или даже пробела или перевода строки. Все получаемые в процессе данные нужно сохранять и только в самом конце сбрасывать их на страницу пользователю.
4) Перед тем как садиться за написание, возьмите ручку и бумагу и нарисуйте квадратиками и стрелочками, что куда
и какие данные должно передавать.
5. На этот раз коротко
Хотя и коротко, зато по существу. в следующий раз начнем разбирать реальный практический пример.
Начнем с самого простого, но правильного с объектной точки зрения web-приложения, затем будем добавлять понемногу функционал.
Разберем различные подходы. Укажем на их плюсы и минусы.
На протяжении уже трех статеек я хожу вокруг да около. Но как оказалось сразу весь вкус объяснить не получается. Просто наберитесь терпения. Мы обязательно пойдем дальше.
-------
P.S. Сейчас не особо много свободного времени чтобы писать сразу и много. Но раз в неделю я стараюсь что-то начеркать и выложить. А сейчас убежал я работать