<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Комментарии / Профиль 5mbytes]]></title>
    <link>https://habr.com/ru/users/5mbytes/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя 5mbytes]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 05 May 2026 21:58:49 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      

      
        
  
    <item>
      <title>04.01.2018 11:04:38 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/346016/#comment_10598488</guid>
      <link>https://habr.com/ru/articles/346016/#comment_10598488</link>
      <description><![CDATA[&gt; не нужно искать хэлпер для форматирования какого-то поля объекта<br>
<br>
Форматтеры в модели, это как раз пример плохой богатой модели. Из-за таких моделей появляются подобные статьи. Модель богатая, потому что в ней описана вся ее бизнес логика, а не потому что в ней описано вообще все-все, что к ней относится. Форматирование, этой слой UI.]]></description>
      <pubDate>Thu, 04 Jan 2018 11:04:38 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>14.11.2017 14:33:21 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/342244/#comment_10520938</guid>
      <link>https://habr.com/ru/articles/342244/#comment_10520938</link>
      <description><![CDATA[Как убедить: рассказать о плюсах лучшего кода. Ведь код-ревью вводится чтобы код стал лучше. Главное не зациклиться на самом коде, а вместо этого рассказать, что это даст бизнесу. Что увеличится скорость разработки (а не уменьшится), что в хороший код легче вносить изменения, что в такую фирму захотят прийти работать другие хорошие программисты, а не только говнокодеры.<br>
<br>
Если такие аргументы не работают, значит нечего там делать.]]></description>
      <pubDate>Tue, 14 Nov 2017 14:33:21 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>14.11.2017 14:26:02 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/342244/#comment_10520920</guid>
      <link>https://habr.com/ru/articles/342244/#comment_10520920</link>
      <description><![CDATA[Если в вашей фирме нет код-ревью и низкое качество кода, значит это устраивает и босса, и большинство программистов. Так же это вероятно значит, что изначально именно программисты начали разработку в таком стиле, боссу все понравилось, и зачем вдруг сейчас что-то менять, ему не очень ясно.<br>
Раз вы работаете в этой фирме, значит вас в целом тоже все устраивает.<br>
Если вы выросли и вас не устраивает, вы можете или попробовать стать архитектором этой системы (но нет гарантии что вам дадут применить ваше новое положение на практике), или найти новое место работы.]]></description>
      <pubDate>Tue, 14 Nov 2017 14:26:02 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>14.11.2017 12:33:03 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/342244/#comment_10520656</guid>
      <link>https://habr.com/ru/articles/342244/#comment_10520656</link>
      <description><![CDATA[Мой опыт говорит, что если в фирме недостаточный уровень качества разработки, но бизнес как-то работает и зарабатывает, почти невозможно убедить сделать какие-то улучшения. И это как бы логично, зачем тратить время, если и так работает.]]></description>
      <pubDate>Tue, 14 Nov 2017 12:33:03 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>09.10.2017 08:19:22 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/339580/#comment_10462730</guid>
      <link>https://habr.com/ru/articles/339580/#comment_10462730</link>
      <description><![CDATA[Сохранение OrderHistory это бизнес-логика. Да даже сохранение текущей даты, это бизнес-логика.]]></description>
      <pubDate>Mon, 09 Oct 2017 08:19:22 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>28.08.2017 21:04:23 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/335834/#comment_10387460</guid>
      <link>https://habr.com/ru/articles/335834/#comment_10387460</link>
      <description><![CDATA[Насчет пункта 3, я долго извращался, выпиливал этот ArrayCollection на уровне репозитория (фактически, нужен кастомный гидратор, который будет вместо ArrayCollection создавать примитивный array).<br>
В конце концов решил, что лучше пусть уж в конструкторе останется ArrayCollection, но во всех методах, которые с ним работают, переменная используется как будто она массив. Как меньшее зло, работает норм.]]></description>
      <pubDate>Mon, 28 Aug 2017 21:04:23 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.08.2017 19:13:22 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/335856/#comment_10367848</guid>
      <link>https://habr.com/ru/articles/335856/#comment_10367848</link>
      <description><![CDATA[Можно еще так ответить. Представьте, что вы используете разделение на Command и Query в слое сервисов, даже если вы этого не делаете. И вот те обращения к БД, которые вы делали бы в Command если бы они у вас были, вы делаете через Репозиторий. А все остальные обращения — так как вам удобно.]]></description>
      <pubDate>Thu, 17 Aug 2017 19:13:22 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.08.2017 19:08:00 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/335856/#comment_10367834</guid>
      <link>https://habr.com/ru/articles/335856/#comment_10367834</link>
      <description><![CDATA[Ответил ниже, сорри.]]></description>
      <pubDate>Thu, 17 Aug 2017 19:08:00 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.08.2017 19:06:46 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/335856/#comment_10367830</guid>
      <link>https://habr.com/ru/articles/335856/#comment_10367830</link>
      <description><![CDATA[Поместить там, где хочется. Начиная от обращения к базе прямо в контроллере заканчивая особым QueryRepository который содержит все эти запросы, которые мы часто где-то используем для вывода данных пользователю. По-умолчанию я бы выбрал эти данные где-то в сервисе или запросе (запросе из слоя сервисов, а не БД).<br>
Момент просмотра модератором списка хабов, это еще не момент выполнения какого-то кода в бизнес-логике.]]></description>
      <pubDate>Thu, 17 Aug 2017 19:06:46 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.08.2017 18:49:00 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/335856/#comment_10367806</guid>
      <link>https://habr.com/ru/articles/335856/#comment_10367806</link>
      <description><![CDATA[<blockquote>А вдруг, при реализации нашего чудо-репозитория мы воспользовались уникальными особенностями конкретного ORM?</blockquote><br>
<br>
А какая разница, какими особенностями мы воспользовались? У нас есть интерфейс, который говорит, что если попросить User UserOfId(UserId userId) то получим пользователя. Внутри конкретного репозитория это может быть сделано как угодно, главное, что в итоге есть User.<br>
<br>
Очень многие используют репозиторий для получения вообще любых данных, хотя по идее репозиторий описывает то, что нужно бизнес-логике.<br>
<br>
В интерфейсе репозитория, и в реализации соответственно, мы создаем такие методы, которые нам нужны для применения каких-то изменений к моделям. Если нам где-то нужно вывести постраничный список пользователей с разными условиями — это не имеет отношения к сохранению данных этих пользователей или манипуляцией их списком как одним целым. И в этой ситуации нам не нужны никакие репозитории, можно хоть прямо в базу запросы слать.<br>
<br>
Интерфейс репозитория, это как документация, он сообщает нам, что, например, где-то есть бизнес-процесс, которому нужно получить всех пользователей с датой регистрации не позднее какого-то числа. И это нужно не потому, что мы хотим вывести это где-то в интерфейсе, а потому что мы будем проводить какие-то манипуляции с такими пользователями, принимать какое-то бизнес-решение. Если же нужно просто выводить список ограниченный по дате, используем то что удобно.]]></description>
      <pubDate>Thu, 17 Aug 2017 18:49:00 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>04.08.2017 16:37:53 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/334776/#comment_10344436</guid>
      <link>https://habr.com/ru/articles/334776/#comment_10344436</link>
      <description><![CDATA[Интересная причина отнести что-то к антипаттернам.]]></description>
      <pubDate>Fri, 04 Aug 2017 16:37:53 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

      

      

    
  </channel>
</rss>
