Ниже краткое изложение опубликованного ранее поста Почему я ненавижу фреймворки :
В средневековые времена программирования, к данным мы применяли функции. Для того, чтобы нарезать хлеб, брали структуру «хлеб» и передавали ее как параметр функции «нарезать»:
нарезать(хлеб);
Потом пришла эпоха объектно-ориентированного программирования. И вместо функии «нарезать», нам надо попросить «хлеб» нарезать себя — вызываем метод «нарезать» у объекта «хлеб»:
хлеб.нарезать();
Очевидно, что это значительное улучшение.
В настоящее время объектно-ориентированное программирование стало еще изысканнее. Сначала мы создаем объект «хлеборезка» и затем просто передаем ему «хлеб» для «нарезки»:
Хлеборезка хлеборезка = new Хлеборезка();
хлеборезка.нарезать(хлеб);
Прогресс на лицо.
Автор: mazurov