нет, Route - не AR и не доктрина. традиционная бузина в огороде
нет, Route - не AR и не доктрина. традиционная бузина в огороде
Может быть дело в том, что ты не понимаешь, что такое Doctrine? https://github.com/leopro/trip-planner/blob/master/src/Leopro/TripPlanner/InfrastructureBundle/Resources/config/doctrine/entity/Route.orm.ymlнет, Route - не AR и не доктрина. традиционная бузина в огороде
Признак, но не критерий. Анемичность скорее всего не может быть без геттеров и сеттеров (если не брать пхп как основу), но наличие геттеров и сеттеров не говорит об анемичности, вот что я хотел сказать. Хотя может провоцировать ее со стороны тех, кто будет далее использовать эту модель в своем коде.Вообще-то один из самых главных признаков: модель рассматривается как структура данных, меньше уделяется внимания API модели.
Да, я согласен, ты тут вообще не в тему, чувак. И кто бы говорил про бузину и дядьку.я не умею читать мысли и ленюсь читать весь код приложения.
механизм работы с AR скрывается в предках класса точно так же, как в yml-файле, и совершенно незаметен
А ещё тебе кажется, что конь, стул и 42. Интересный набор слов получается.мне кажется, что Route.orm.yml - неявная декларация анемичной модели на языке yml
Doctrine использует рефлексию, она не требует сеттеры, геттеры (JavaBean), никто не заставляет выкидывать из твоей модели логику. Ну да, примеры из мануалов — это anemic domain model, но мы же взрослые люди, мы знаем что пишут в мануалах.
Когда тебе привели реальный пример о чем идет речь:Вурдалак, и получаешь ActiveRecord
Ты сказал, что это вовсе не Doctrine и «вывсеврети»:grigori, https://github.com/leopro/trip-planner/blob/master/src/Leopro/TripPlanner/Domain/Entity/Route.php — это ActiveRecord? При чем тут вообще ActiveRecord?
Потом понял, что обосрался:нет, Route - не AR и не доктрина. традиционная бузина в огороде
и решил съехать на тему DM vs AR, рассказывая про то какие они одинаковые.Вурдалак, я не умею читать мысли и ленюсь читать весь код приложения
Мне не нравится, что ты это называешь value object. VO — это immutable-структура, которая вполне может содержать бизнес-логику. Ты имеешь в виду DTO? Да, это DTO. Ну и? Я же против anemic.Вурдалак, чем anemic model отличается от тупого value object (иными словами структуры с рефлексией)? Мне вот кажется, что ничем. А пошло это от EJB, наверное, для упрощения кодогенерации.
А под «пабликом» что ты подразумеваешь? И под «капотом» чего, соответственно?Вурдалак, ага, DTO, вот уже хотел отредактировать, да опоздал. Не, ничего, просто для уточнения. В некоторых случаях "под капотом" DTO и скрывается. А вытаскивать его в паблик - не, ну так вроде уже никто не делает, это ж в чистом виде олдскульная процедурщина со структурой и функциями получается.
1) ActiveRecord, где "под капотом" dto как представление table rowА под «пабликом» что ты подразумеваешь? И под «капотом» чего, соответственно?
1) ActiveRecord, где "под капотом" dto как представление table row
В том-то и дело, что людям нравится пихать логику в сервисы, а сеттеры и геттеры они очень любят, я не буду показывать пальцем, но точно помню такие высказанные мысли у некоторых участников этого форума. Да и потом, все известные мне AR наружу всё равно выпячивают setters/getters, и по закону Мёрфи обязательно будет код, который юзает их напрямую, если только ты не работаешь один. Правда опять что-то речь про AR зашла, а у меня на это аллергия.А вытаскивать его в паблик - не, ну так вроде уже никто не делает, это ж в чистом виде олдскульная процедурщина со структурой и функциями получается.
По идее можно генерировать код, создающий инстанс через конструктор.2) В языке без рефлексий я вполне могу себе представить его использование (вероятно, совмещенного с кодогенерацией) для обмена данными и метаинформацией с персистером для избежания лишних тяжелых операций копирования.