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