Ruby — популярный язык программирования. Его синтаксис прост и очень удобен. Но система типов уникальна. В этой статье рассказывается, как использовать DDD с помощью ruby.
Как работают системы типов ruby?
Перед его реализацией я ввожу систему типов. Есть несколько статических средств проверки типов, и у них разный синтаксис. В этой статье я использую шербет.
Я пропускаю детали, но причина в том, что мы можем управлять кодом и набирать его в одном файле.
Кодирование DDD превосходно, потому что мы можем добавить информацию о домене в код с именами и типами.
Чтобы использовать его Насколько я могу, я рекомендую его.
Модель домена
Класс домена с одним значением
Домен с одним значением — это общий формат модели предметной области. Он имеет только одно значение, и мы получаем доступ к его значению через геттер.
Синтаксис закрытых и открытых методов Ruby немного отличается от других языков.
attr_reader является получателем псевдонимов.
Класс домена с несколькими значениями
Домен с несколькими значениями — это класс, объединяющий некоторое значение, относящееся к ним.
Ruby не может представлять информацию о типах аргументов в одной строке. Меня это немного раздражает.
Получение списка классов модели предметной области
Модель списка — это класс, который объединяет те же объекты, что и массив. Его красота заключается в том, чтобы скрыть сложную обработку массива в объекте класса.
В ruby есть полезные функции для обработки массивов. Разработчики могут быстро реализовать публичные функции.
Класс модели домена состояния
Класс модели домена состояния — это класс, который представляет исключительную связь. Например, статус пользователя не будет состоять из нескольких статусов одновременно.
Ruby плохо реализует некоторые классы состояния по следующим причинам.
- Система типов Ruby плохо справляется с наследованием или интерфейсом.
- В Ruby нет функции перечисления.
Итак, я рекомендую использовать необработанную строку для его реализации.
Заключение
Красота рубина — это впечатление от написания кода. Синтаксис прост и имеет множество полезных встроенных функций.
Но это и система типов не ладят.
На мой взгляд, я должен выяснить, какая структура лучше всего подходит для реализации DDD с Ruby,
Я надеюсь, что эта статья поможет вам.