Я пишу настольное приложение с графическим интерфейсом в Clojure, используя Java Swing. Обычно при работе с Java я проектирую приложение в соответствии с шаблоном проектирования MVC, используя также шаблон Observer. Таким образом, представление отделено от модели, и изменения в любом из них не влияют друг на друга, что облегчает дальнейшие изменения.
Мне было интересно, имеет ли Clojure лучший подход к этой проблеме, чем обычный шаблон проектирования MVC и Observer? Я новичок в функциональном программировании, поэтому я не уверен, как я могу отделить модель от представления. Я требую этого, поскольку приложение будет разрабатываться итеративно, и в дальнейшем могут возникнуть сложные требования.
Буду признателен за любую помощь.
Спасибо
Адам