ООП (Статей: 27)

Введение
Данная статья рассчитана на программистов, имеющих общие знания в области PHP, его ОО модели и практикующих модульную архитектуру. Я постараюсь не углубляться в особенности тех или иных элементов ООП, чтобы не смешивать теорию с практикой, а постараюсь описать только практические части реализации классической MVC архитектуры и некоторых ее доработок.

Совсем немного теории
MVC архитектура является подмножеством более общей модели, называемой "Архитектурой с расслоением". Данная архитектура регламентирует создание таких систем, каждая функционально-завершенная область, которых будет не просто взаимодействовать с другими, но и образовывать отдельный модуль (или слой) со своим уровнем абстракции. В общем смысле это означает, что система расслаивается на... Автор: (12.07.2012 / 12:42)
Просмотры: 3176
Комментарии (4) »
Введение
Раньше мне приходилось довольно часто сталкиваться с проблемой непонимания начинающими программистами основ такого важного механизма ООП, как наследование. Задачи, поставленные мной, часто приводили к созданию такого необычного решения, что приходилось переписывать добрую часть кода, не смотря на то, что частично решение уже было реализовано ранее. Мне удалось решить эту проблему в своем коллективе и сейчас я хочу поделиться с вами секретом "наследования".
Целью данной статьи является демонстрация использования наследования на реальных примерах. Возможно, пример окажется слишком узким, но, как мне кажется, он достаточен для внимательного читателя.

Поставленная задача
Как-то раз мне потребовалась реализация механизма аннотирования классов и их членов... Автор: (25.06.2012 / 20:52)
Просмотры: 1348
Комментарии (1) »
Общие сведения об исключениях
До появления ООП существовало два подхода к обработке ошибок в программе:
1. Возврат кода ошибки из вызываемой функции или программы;
2. Возврат имени ошибки из вызываемой функции или программы.
Как видно, оба подхода страдают от того, что имя или код ошибки малоинформативны без описания. Запись ошибки типа: Ошибка 1234 – мало о чем говорит отладчику и требует постоянного обращения к документации.
ООП предоставило другой способ описания ошибок. Сегодня ошибка, ее код, описание, даже причина, инкапсулируется в объект, называемый Исключением. Данное исключение создается и передается вверх по стеку вызова, «убивая» все на своем пути, пока оно не... Автор: (17.06.2012 / 03:17)
Просмотры: 1875
Комментарии (0) »
Данная статья обещает быть очень емкой, потому постараюсь разбить ее на удобные части. Статья затрагивает многие аспекты объектно-ориентированного подхода в программировании (ООПП), такие как Уровни абстракции, Инкапсуляция, Полиморфизм,Наследование, Шаблоны проектирования и так далее. Чтобы не запутаться во всем этом, я постараюсь дать краткие сведения о том аспекте, который я применяю, при первом его упоминании, а так же аргументирую его использования и плюсы в каждом конкретном случае.
О чем собственно статья? Многие из нас рано или поздно сталкивались с необходимостью хранения данных. Все начинается с файловой базы данных (ФБД), затем перетекает в наиболее простые и удобные системы управления базами данных (СУБД),... Автор: (19.01.2012 / 04:30)
Просмотры: 2207
Комментарии (1) »
Здравствуйте.
Наверно многие из вас знакомы с такими основополагающими понятиями ОО подхода, как Инкапсуляция, Полиморфизм, Наследование и Абстрагированние. Уверен что любая статья на эту тему многим покажется скучной и устаревшей, но судя по статьям, заполнившим интернет, делаю вывод что ничего кроме сухого копирования материала они не включают. Хотелось бы ответить эти важные грани ОО подхода с практической стороны.
Абстрагированние
Хотелось бы сразу отметить что каждый из этих механизмов отвечает за решение различных задач. Абстрагированние отвечает за упрощение понимания предметной области, то есть то, что мы моделируем в нашей программе. Писали ли вы когда нибудь на партах в школе целые чаты?... Автор: (08.01.2012 / 21:09)
Просмотры: 2046
Комментарии (2) »
Я не приверженец практики без теории, потому постараюсь попутно сопровождать весь код важной для незнакомых с ОО архитектурой информацией.
И так хочется продемонстрировать вам мое решение тривиальной ситуации с помощью ОО подхода, которое в последующем сильно экономило мое время.
Предыстория
Как то раз возникла задача организовать класс "Хранитель", которые позволяет хранить в себе текущее состояние родительского объекта и восстанавливать его когда это потребуется, при чем раскрывать это состояние позволяется только родительскому объекту, дабы не нарушить инкапсуляции (кто знаком с шаблонами проектирования, мне понадобился обычный Хранитель). Реализовал его за несколько минут и решил пойти дальше: а почему бы не организовать такой... Автор: (21.12.2011 / 11:21)
Просмотры: 2333
Комментарии (7) »
Продолжая цикл статей об объектно-ориентированному подходу к организации программной архитектуры и мышлению, хотелось бы затронуть некоторые исторические эпизоды становления объектно-ориентированной мысли.
Рассмотрим становление процедурного подхода. Описание повторяющихся алгоритмов медленно переростает в необходимость повторного использования кода. Здесь на сцену выходят функции, которые позволяют вместить в себя алгоритм и впервые реализуются принцип "черного ящика". Действительно, функция позволят определить входные и выходные данные, а метод преобразования скрыть реализацию от пользователя. Другими словами, мы лишь знаем какие данные функция получает и что отдает функция, а ее работа нас не касается, и обычно, это позволяет упрощать разработку приложений за счет использования "черных ящиков". Помимо функций... Автор: (14.12.2011 / 23:12)
Просмотры: 1432
Комментарии (0) »
Здравствуйте.
Перечитывал несколько раз статьи этого блога и решил пока не заниматься переосмыслемиен парадигмы, а затронуть вопрос неверного толкования при первом знакомстве с ООП.
Другими словами чем не является объектная ориентация и как не стоит ее применять.
1. Конечно же сначало нужно выбросить из головы такое понятие как класс и посмотреть вокруг. Понимание принципов ОО начинается с осмысления того, что такое окружающие нас объекты и что они могут. Начинать изучение ООП с термина "Класс" это главная ошибка, сродни изучению программирования с определения функций (функции лишь способ группировки алгоритмов, а не алгоритм). И так что же такое объект? Возьмем что то... Автор: (13.12.2011 / 02:03)
Просмотры: 1917
Комментарии (2) »
Статью писал для своего сайта, но по некоторым причинам решил все свои статьи перезалить сюда (что бы не утерять)!

Model View Controller позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента.

Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контроллера), изменяя своё состояние.
Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
Поведение (Controller). Интерпретирует данные, введённые пользователем, и информирует модель и представление о необходимости соответствующей реакции.
---------------------------------------------------------------------------------------------------
Как-то задался вопросом о работе MVC, и не имея представления о реализации, я искал в гугле решение своего вопроса!
Гугл... Автор: (16.11.2011 / 20:18)
Просмотры: 2728
Комментарии (6) »
Здравствуйте.
После продолжительной работой над идеей постоянных объектов, реализовал полностью функциональный класс, позволяющий управлять постоянными объектами. В отличии от других подобных технологий, мой класс поддерживает связи любой сложности с возможностью постоянного хранения ассоциаций. Класс реализован на основе общих принципов объектно-реляционной организации данных и практически не влияет на написание программы. С другой стороны данный класс позволяет полностью отказаться от написания запросов к БД за счет автоматизации этого процесса. На деле нужно просто работать с объектами, на основе этого класса, а стандартные методы выполнят все запросы сами. Класс позволяет сохранять объекты в базе данных, а так же ассоциативные связи между ними. Восстанавливать... Автор: (08.05.2011 / 23:10)
Просмотры: 1238
Комментарии (3) »
Топ статей / Облако тегов / Поиск / Авторы