Но ты не ответил на вопрос, а последним наплодил еще несколько.
1. Где можно прочесть про транспортный/сервисный уровень приложения? Гугл знает только о модели OSI, которя никак напрямую к твоему приложению не относится, пробежался по архитектурам DDD (а прочитав про слои еще раз пересмотрел луковую) и тоже ничего не нашел.
2. Про "правильные" или "неправильные" данные у меня должна знать сама сущность, если данные неправильные то конструктор кинет экзепшн, это вообще логика самого бизнеса "правильность" данных. Ну зависимость уровней уже зависит от зависимостей этих сущностей. О системе с сильными зависимостями и сущностями, которые не контролируются тоже полностью согласен. Но
3. Я говорил не о правильности данных, а об их безопасности и о конкретном примере с xss атакой и о конечном резульате который увидит пользователь. Ты говоришь о том, что надо всё хранить, но именно выводить безопасно. То есть например у сущностей (у каждой) у тебя будет функция render, которая для определенных свойств будет знать что надо сейчас избавиться от возможных скриптов. Такой подход есть, но не могу понять чем он лучше того, что ты фильтруешь эти же данные на входе? Например в более старых фреймах например (простигосподи) Кохана, есть функция для получения данных из поста которая также чистит данные от xss, ты юзешь для получения данных во всём проекте только её и у тебя нет проблем. В симфони например, рекомендуют юзать оба подхода (соответсвенно на формы на входе и на твиг на выходе).
Если не сложно, можно пример более конкретный?) хочу разобраться в этом вопросе
1. Не приложения, а системы в целом. Под транспортным уровнем я имею в виду организацию передачи данных между частями системы (БД, UI, сервисами). Тебе не надо DDD, тебе надо SoC.
3. Моя позиция в том, что данные вообще не надо "чистить", а надо выводить как есть, только безопасно. Фильтровать опасный код - ненадежно.