Моделирование доменов с функциональным программированием

pawelwlodarski.blogspot.com 8 годы назад

Что происходит

  • Будет семинар по моделированию доменов FP+ Моделирование домена с помощью FP - Part 1 - Отделение бизнеса от побочных эффектов. Скорее всего, 10 мая, но многое происходит, и срок может сдвинуться.
  • по книге
  • в Скала
  • Практические примеры использования расширенного FP-времени
  • не будет хайбернейты или каких-либо фреймворков (называемых людьми, лишенными практики программирования «оценками»), которые прославляют код там, где аннотации больше, чем самого кода -> или что-то вроде:
    @ManyToMany
    @JoinTable()
    Имя = "EMP_PROJ"
    joinColumns=@JoinColumn(имя="EMP_ID", ссылочное название="ID"),
    inverseJoinColumns=@JoinColumn(имя="PRJ_ID", ссылочное название="ID")
    @WhatDoYouMeanByLearnSQL?
    @Fuck Эти отношенияOOPUberAlles
    @IJustWantToHaveAListAndCallGetterOnIt
    @IDontCare
    @PleaseDontForceMeToThink
    @MagicalAnnotationToMakeAllProblemsDissapear
    @AndAlsoPleaseTradeTransactionsForMe
    Частное письмо проекты;
    
    (что в моих глазах напоминает более средневековую алхимию, где стремятся выбрать такие компоненты, чтобы превратить металл в золото — в этом случае превратить простое объявление списка в некое творение, отвечающее неортодоксальным требованиям домена)

Более конкретно,

При рассмотрении книги как основы науки возникает следующий план:

  1. Создание данных/агрегатов и разделение операций домена от операций инфраструктурных эффектов - Option,Try,Future,Validation -> и как карты и плоские Карта помогает создавать поток данных
  2. Линзы и состав конверсий в агрегат данных
  3. Состав операций на хранилище с Monad Reader
  4. Классы типов и моноид - это даст знания о том, как получить гораздо лучшую композицию, определяя символические операции для данного типа
  5. Функциональные, аппликативные и монадные — еще больше знаний о том, как получить лучшие бизнес-функциональные композиции путем разделения системных побочных эффектов. Tutja может использоваться для более специализированных типов, таких как StateMonad.
  6. И мы движемся дальше с более сильной композицией - тутя будет называться «стрела Клейсли», которая позволяет сочинять типы, такие как M[A] => M[B] использует функции с эффектами A=>M[B]
  7. Обнаружение нарушений в ходе компиляции - Фантомные типы
  8. Модульизация/связанный контекст с FreeMonad

План может быть изменен, как вам нравится. Формула, вероятно, состоит из двух частей упражнения. Первая часть будет больше касаться механики используемых FP-структур, а вторая — доменного приложения. И, конечно же, формулу можно менять по своему усмотрению. Также (скорее всего) 10 мая приглашаем всех желающих: Моделирование домена с помощью FP - Part 1 - Отделение бизнеса от побочных эффектов

Читать всю статью