TGViewer
adelf on programming adelf on programming @adelf_on_programming · 1.57K subscribers
Post #153 2.09K
Под прошлым постом развернулась дискуссия, которая в очередной раз показала, что в программинге незыблемо только одно правило: it depends.

Для типичных монолитных по всем координатам приложений где все свалено в одну кучу: модели в одной папке, контроллеры в другой - то мое правило работает. Там если именовать все в стиле Model/User, Controller/User, т.е. ClassType/Feature, то быстро образуется бардак.

Однако продвинутые системы, в которых много классов, быстро переформатируются в папки по доменам, или контекстам, или фичам. И получается, например, домен тот же самый User, папка App/Domain/User, а классы мы именуем DomainName/ClassType. Классы будут App/Domain/User/Controller, User/Handler, User/Model, etc.

Поскольку логика приложения красиво разорвана на эти куски, то User/Model редко когда юзают в одном и том же файле с Post/Model, например(это вам не Eloquent модели!). И неудобств не возникает, код занимает на пару байт меньше памяти, его чуток быстрее читать и т.д.

Еще было бы прекрасно для многих из этих классов применить package-private из мира Java, что сделало бы эти классы доступными только внутри своего неймспейса и они не мешались бы остальным, но народ терпит, не жалуется, видимо, не такая это уж и проблема.
  • 👍 14
  • ❤ 2
  • 🔥 1
More from @adelf_on_programming
  1. Sep 10, 2026Новый дивный мир Пришел issue, в котором юзер жалуется на какое-то несоответствие логики.…
  2. Aug 11, 2026Podlodka #489 – Laravel Laravel любят за скорость разработки, ругают за магию и регулярно…
  3. Jun 1, 2026Часто слышу мнение в стиле "неймспейс это тоже часть имени класса. Используйте его" И, как…
  4. Apr 20, 2026Хранение дефолтных значений Для новой фичи мне нужно хранить токен Sentry и домен, где это…
  5. Jan 18, 2026Исследую сейчас исходники Livewire4. Прекрасный пример, когда две совсем разные логики пыт…
  6. Dec 9, 2025Вчера вышел PhpStorm 2025.3 со встроенной Laravel Idea на борту. JetBrains даже небольшую…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →