-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в rss_habr

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 15.08.2006
Записей:
Комментариев:
Написано: 55


[Перевод] Можно ли считать DateTimeImmutable примитивным типом?

Четверг, 13 Октября 2022 г. 11:31 + в цитатник

В рамках последнего семинара мы обсуждали концепцию DTO (Data Transfer Object). Главная особенность DTO заключается в том, что они содержат значения исключительно примитивных типов (строки, целые числа, логические значения), списки или ассоциативные массивы с такими значениями, включая и «вложенные» DTO. Я не могу точно сказать, кто придумал эту идею, но я использую ее, потому что она делает DTO структурами данных, которые энфорсят только схему заключенных в них значений (имена полей, ожидаемые типы, обязательные и необязательные поля), оставляя их семантику в покое. Это позволяет нам создавать DTO из любого источника данных, например из значений, полученных из формы ввода двнных, аргументов командной строки, JSON, XML, Yaml и т. д.

Использование примитивных значений в DTO является наглядной демонстрацией того, что эти значения не валидируются. DTO просто используется для передачи или переноса данных с одного слоя в другой. И вот в этом контексте во время семинара у нас возник вопрос: можем ли мы считать DateTimeImmutable значением примитивного типа? Если да, то можем ли мы использовать этот тип внутри DTO?

Мне кажется, что это достаточно интересный вопрос для разбора. Хочется сразу ответить «нет», но почему?

Как нам понять, удовлетворяет ли что-либо наш предикат? Для начала мы должны определить сам предикат. Когда мы оперируем абстрактными формулировками, то этот первый шаг вполне очевиден, но при обсуждении конкретных вопросов часто неясно, что разговор должен начинаться с определений; нам так не терпится сразу же перейти к ответу! Итак, чтобы ответить на это вопрос, нам для начала нужно определить, что является значением примитивного типа.

Читать далее

https://habr.com/ru/post/693012/?utm_source=habrahabr&utm_medium=rss&utm_campaign=693012

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку