пост, и в нем комментарии. Если мы хотим выразить домен как можно больше в коде, то наверняка будет что-то типа
type Post struct {
Id int
Comments []Comment
}
Только что этот код значит? Что каждый раз, когда мы подтянем пост, у нас сразу подтянутся комментарии? А сколько их подтянется? Мы же не можем подтянуть все. Да и не нужны нам каждый раз комментарии, в основном только для отображения поста. И как у нас сохраняются комментарии? Пушим просто в поле Comments и оно сохранит посты с комментарием? Скорее всего нет. В общем, оно только внешне отображает домен, но оно не отображает технический аспект никак, который мы должны учитывать
ну вот вы привели пример из го на котором и правда ничего не понятно а теперь смотрим на питон class Post: @property def id(self): pass def comments(self, limit=100, offset=0): pass мне не нужно знать есть ли там комментарии и сколько их, в случае необходимости они благодаря сахару лениво подгрузятся при обращении к свойству comments я просто беру этот класс и использую дальше с такими же высокоуровневыми абстракциями, которые легко создаются несколькими строками кода на го же мне бы пришлось реализовывать это всё руками и низкоуровневые вещи торчали бы изо всех щелей
Обсуждают сегодня