Если мыслить объектами в контексте доменной модели, то методы объекта должны менять внутреннее состояние этого объекта. Соответственно ваше предположение, что у комментария должны быть методы отобразить и удалить - не совсем верны.
Поверьте, в одном сообщении невозможно описать как строить архитектуру приложения. Но понять основные принципы проектирования можно почитав книгу
Vaughn Vernon - Implementing Domain-Driven Design. Но эти принципы популярны в энтерпрайз сегменте со сложной бизнес-логикой и большими бюджетами, в основном на языке Java (качественно, дорого, медленно). Типичные интернет-приложения в своей массе используют другой подход, там объекты это скорее контейнер для функций, объединенные по принципу "так решил разработчик", у тех кто знает о solid/grasp немного получше, у тех кто нет - немного похуже, но в целом это подход - бысто, дешево, менее качественно и в целом, не особо отличается от процедурного программирования.