Спасибо :)
На самом деле, ООП — это именно та вещь, которая представляет собой типичный случай зависимости от масштаба.
Чем сложнее проект, тем большее количество паттернов вовлекается в работу, тем не-нативнее и не-«физичнее» становится система, и наступает тот момент, когда Алиса открывает дверь Кроликом, который агрегирует Льюиса Кэролла, у которого в кармане лежит ключ.
Заметьте, в качестве примеров методов и свойств машины в 95% выступают такие методы и свойства, как: «номер машины», «завести», «залить бензин», т.е. некие «физические» объекты, которые находятся внутри машины.
А потом новички с удивлением обнаруживают, что в машине находятся не только сиденье с багажником, но и завод, в котором в свою очередь находится город. И вообще, машина нужна исключительно для того, чтобы предоставить интерфейс для доступа к городу :)))
Примитивный пример: есть сущности «статья» и «категория», статьи принадлежат категориям.
Все понимают на примере машинок, что у объекта «категории» может быть свойство — коллекция объектов «статья».
Но некоторые могут не понять, что у объекта «статья» может быть свойство — объект «родительская категория», т.к. в физическом мире «машинок» бОльший объект не может лежать внутри меньшего.
Класс – это способ описания сущности, определяющий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью (контракт).
Какой ужасный, ужасный канцелярит. Подобные описания хороши в учебнике, но никак не в курсе популяризации.
А пример с машинками он не просто вреден, он архивреден!
Хоть он и канониченЪ, но он на корню губит идею сложных объектов и агрегации. Человек, который привык работать с «машинками» очень долго доходит до понимания того, что иногда не объект «дверь» агрегирует объект «замочная скважина», а наоборот.
Визуально — интересно, исторически — так себе.
Даже наполеоновские войны не учли.
И лучше бы показали с самого начала — с эпохи великих географических открытий.
На самом деле я немного завидую людям, которые пишут на подобных языках ;)
Простите, вырвалось.
«Доктор, какие у вас пошлые картинки!»
На самом деле, ООП — это именно та вещь, которая представляет собой типичный случай зависимости от масштаба.
Чем сложнее проект, тем большее количество паттернов вовлекается в работу, тем не-нативнее и не-«физичнее» становится система, и наступает тот момент, когда Алиса открывает дверь Кроликом, который агрегирует Льюиса Кэролла, у которого в кармане лежит ключ.
Заметьте, в качестве примеров методов и свойств машины в 95% выступают такие методы и свойства, как: «номер машины», «завести», «залить бензин», т.е. некие «физические» объекты, которые находятся внутри машины.
А потом новички с удивлением обнаруживают, что в машине находятся не только сиденье с багажником, но и завод, в котором в свою очередь находится город. И вообще, машина нужна исключительно для того, чтобы предоставить интерфейс для доступа к городу :)))
Все понимают на примере машинок, что у объекта «категории» может быть свойство — коллекция объектов «статья».
Но некоторые могут не понять, что у объекта «статья» может быть свойство — объект «родительская категория», т.к. в физическом мире «машинок» бОльший объект не может лежать внутри меньшего.
Какой ужасный, ужасный канцелярит. Подобные описания хороши в учебнике, но никак не в курсе популяризации.
А пример с машинками он не просто вреден, он архивреден!
Хоть он и канониченЪ, но он на корню губит идею сложных объектов и агрегации. Человек, который привык работать с «машинками» очень долго доходит до понимания того, что иногда не объект «дверь» агрегирует объект «замочная скважина», а наоборот.
PS:
Блин, я жуткий зануда, я знаю :(
Но так режут глаза в русском тексте названия российских вузов латиницей!
На мега-открытие, конечно, не тянет, но приятно для глаза и оригинально :)
Даже наполеоновские войны не учли.
И лучше бы показали с самого начала — с эпохи великих географических открытий.
Другое — работа ТОЛЬКО с вебом.
Сечете разницу?