Проект эта штука, которая нужна у нас всем. Чтобы не собирать в одном ProjectService всю работу всех, мы её разнесем по сервисам.
А чтобы это не делало десяток запросов за одним и тем же проектом, все эти сервисы за проектом будут обращаться не в репозиторий, а в Registry.
Registry это просто обертка над кешем. (И кстати это повод сразу добавить в проект redis tndt-196)
Подробности систем в Получение связанной с проектом инфы (полномочий, справочников, и т.д.)
В рамках tndt-4 мы сделали очень простую и не оптимальную реализацию кеширования проектов для DictionaryService. В рамках этой задачи хорошо бы её рассмотреть и переделать нормально, даже если по итогу ProjectRegistrry вводить не будем. (можно, например, выделить её в отдельную задачу если эта задача не будет решаться)
Вобще говоря, с наличием redis, эта задача сводится к заведения в репозитории или в спецификации метода получения проекта по suffix и храннею в кеше. (а так же умении его оттуда выкидывать). при чем изменение даты и прочей мелочи в целом может и не выкидывать, главное чтобы другие методы хранящие проект в UoW не забрали закешированную версию. так тчо может вариант с отдельным Registry или Storage и не столь уж и глуп.