Проектирование по методу МУХ

Хочу поделиться с вами методом проектирования, который открыли мне знакомые разработчики. Всё очень просто и изящно, предлагаю всем использовать.

Значит так. Прежде всего, у нас есть Модели. Каждая модель описывает одну табличку в базе данных. А ещё в модели мы складываем бизнес-логику, потому что ну куда её ещё девать. Модели безразмерные, поэтому напихивать в них методы можно сколько угодно.

Этот важный архитектурный принцип так и называется — «толстые модели».

Иногда добавить новую логику в модель не получается из-за технических причин (тех самых, из-за которых поезда в метро следуют с увеличенным интервалом). В этом случае нам на помощь приходят Хелперы. Хелперы — это такие штуки, куда можно складывать всё, что не поместилось в модели. Главное, упаковать это в функции.

Этот важный архитектурный принцип называется «функциональное программирование».

Проектирование софта — это не только наука, но и искусство. Иногда чувство прекрасного говорит, что вот эту конкретную функцию складывать в хелперы неправильно. Не беда — специально на этот случай есть Утилиты. Утилиты отличаются от хелперов чем-то неуловимым, но важным, как аромат сирени в ноябре.

Обязательно соблюдать чистоту и порядок: все модели в одном файле, хелперы во втором, утилиты — в третьем. Этот важный архитектурный принцип называется «разделение ответственности».

Моделей, Утилит и Хелперов достаточно, чтобы построить приложение любой сложности!

Написал бы на хабр, но тамошние не оценят.