Ruby — популярный язык программирования. Его синтаксис прост и очень удобен. Но система типов уникальна. В этой статье рассказывается, как использовать DDD с помощью ruby.

Как работают системы типов ruby?

Перед его реализацией я ввожу систему типов. Есть несколько статических средств проверки типов, и у них разный синтаксис. В этой статье я использую шербет.

Я пропускаю детали, но причина в том, что мы можем управлять кодом и набирать его в одном файле.

Кодирование DDD превосходно, потому что мы можем добавить информацию о домене в код с именами и типами.

Чтобы использовать его Насколько я могу, я рекомендую его.

Модель домена

Класс домена с одним значением

Домен с одним значением — это общий формат модели предметной области. Он имеет только одно значение, и мы получаем доступ к его значению через геттер.

Синтаксис закрытых и открытых методов Ruby немного отличается от других языков.

attr_reader является получателем псевдонимов.

Класс домена с несколькими значениями

Домен с несколькими значениями — это класс, объединяющий некоторое значение, относящееся к ним.

Ruby не может представлять информацию о типах аргументов в одной строке. Меня это немного раздражает.

Получение списка классов модели предметной области

Модель списка — это класс, который объединяет те же объекты, что и массив. Его красота заключается в том, чтобы скрыть сложную обработку массива в объекте класса.

В ruby ​​есть полезные функции для обработки массивов. Разработчики могут быстро реализовать публичные функции.

Класс модели домена состояния

Класс модели домена состояния — это класс, который представляет исключительную связь. Например, статус пользователя не будет состоять из нескольких статусов одновременно.

Ruby плохо реализует некоторые классы состояния по следующим причинам.

  • Система типов Ruby плохо справляется с наследованием или интерфейсом.
  • В Ruby нет функции перечисления.

Итак, я рекомендую использовать необработанную строку для его реализации.

Заключение

Красота рубина — это впечатление от написания кода. Синтаксис прост и имеет множество полезных встроенных функций.

Но это и система типов не ладят.

На мой взгляд, я должен выяснить, какая структура лучше всего подходит для реализации DDD с Ruby,

Я надеюсь, что эта статья поможет вам.