Redux - это по сути функциональное программирование, и оно имеет большой смысл. Когда я возвращаюсь к языку ООП, не поддерживающему JavaScript, в другом проекте, я хотел бы применить те же принципы, такие как один объект состояния, редукторы, которые воздействуют на части этого состояния, бизнес-уровень семантических действий для изменения состояния.
Мой проект на C ++, и я хочу знать, имеет ли смысл попытаться применить функциональный, избыточный стиль подхода к разработке приложения. Производительность не является супер критичной для этого приложения, но ремонтопригодность есть.
С какими трудностями я столкнусь при разработке своего приложения?
Я должен добавить, что это не приложение с графическим интерфейсом. И если подумать об этом больше, возможно, избыточность уменьшила преимущество в приложении без графического интерфейса, поскольку нет какого-либо прямого визуального эффекта обновления состояния приложения.
Ответы:
Функциональные стили программирования, как правило, пригодны для повторного использования практически в любом месте с правильным мышлением. Общая идея применения парадигм кросс-языков - это то, что Стив Макконнелл называет в Code Complete «программирование на язык». В основном я хотел отметить, что желание применять полученные уроки на разных языках и на разных парадигмах действительно является признаком того, кто видит язык как средство выражения. Удивительно, сколько разработчиков никогда не достигают этой точки.
Как вы указали, философия Redux нацелена на разработку пользовательского интерфейса. Трудно представить слишком много сценариев, в которых дельта-отслеживание состояния полезно в средах без пользовательского интерфейса. Это действительно зависит от вашей проблемы. Если этот подход облегчает понимание и поддержку общего решения, то, вероятно, оно является хорошим. Общий подход, который использует Redux, во многом напоминает журнал транзакций в большинстве RDBMS, поэтому вполне может быть верно, что такой подход существовал до JavaScript.
источник