This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-12-10
Channels
- # adventofcode (99)
- # architecture (10)
- # bangalore-clj (1)
- # beginners (65)
- # boot (9)
- # cider (78)
- # clojure (87)
- # clojure-austin (1)
- # clojure-brasil (13)
- # clojure-dev (14)
- # clojure-gamedev (3)
- # clojure-greece (2)
- # clojure-italy (2)
- # clojure-russia (18)
- # clojure-spec (26)
- # clojure-uk (15)
- # clojurescript (62)
- # core-logic (1)
- # cursive (1)
- # datomic (27)
- # emacs (17)
- # fulcro (2)
- # off-topic (44)
- # onyx (25)
- # perun (139)
- # re-frame (40)
- # reitit (2)
- # ring (4)
- # rum (2)
- # shadow-cljs (1)
- # slack-help (14)
- # unrepl (18)
Привет! Последние 4 месяца я занмался тем, что продумывал, как делать на clojure бизнес-приложения. Свой подход я описываю в методичке https://github.com/darkleaf/building-application. Она еще не закончена, но оснавные идеи уже описаны. Было бы здорово обсудить эти идеи и улучшить изложение. Если кратко, то речь идет о Clean Architecture, Data Mapper, Identity Map, Unit of Work. Еще будет интересно посмотреть на то, как генерируются формы на основе clojure.spec.
@dbushenko очень давно да, там уйма опечаток, простите
из конструктивной критики я бы добавил только лишь то, что в процессе работы над книгой ты изобрел очень много своего такого, для чего есть или неплохие решения, или нормальные названия в других областях; кроме того стоило бы рассмотреть и другие типы архитектур, кроме DDD. Пример с протоколами -- ок, но его надо обосновать, и показать, в каких случаях лучше с протоколами, а в каких - без. ну и вообще, обоснований побольше, вместо ссылок на авторитеты. некоторые из этих авторитетов, тот же Боб Мартин, для многих выглядят клоунами
@dbushenko спасибо за отзыв. Идея в том, что бы показать идею хоть как-нибудь, собрать обратную связь и улучшить. Я даю краткое описание и ссылку на подробный материал. Это не книга, а "методичка", я не готов писать нетленку в несколько томов с разбором всех возможных вариантов 😃 Обоснования как раз по ссылкам. По поводу клоунства - можешь дать ссылку на человека, который бы показал, как делать софт приносящий ценность бизнесу?
вообще, конечно, DDD на Clojure делать довольно сложно, я не очень себе представляю, как сделать идиоматичный агрегат средствами Clojure так, чтобы не плеваться потом. Думаю, что если компромиссные подходы не годятся, надо делать через абстрактный тип данных и композицию функций, хотя и АДТ в кложе нормально не сделать....
у меня есть агрегат, ну или то, что я этим словом называю все это нужно рассматривать как вариацию на тему 😃
и по поводу ссылки на человака, кого ни спрошу, никто кроме Мартина назвать не может
Ну, Мартин, достаточно много хорошего сделал, заставил многих подумать головой, и не мне называть человека клоуном, но в последние годы он реально имел недальновидные высказывания.
же вместо того чтобы писать блог-посты как делать хороший софт, написал язык для полезного софта. Но даже
на своем последнем выступлении очень сильно ругал типы/pattern matching - приводя примеры из Java, C++, что тоже, недальновидно, кмк.
ключевой момент того, что доносит Мартин - это инверсия зависимости SOLID, Clean Architecture все это на базе инверсии зависимости она позволяет разрабатывать бизнес-логику сразу, откладывание выбор реализации на потом т.е. ты описывашь логику, идешь к заказчику, он вносит правки эти правки практически бесплантные, у нас нет базы, нет фреймворка, нет ничего кроме этой самой логики а когда уже стали разибраться в проекте лучше, переходим к конкретным реализациям деталей