Спасибо за очень полезную лекцию! У меня вопрос. Когда вы рассматриваете, как работает Combine под капотом (за это отдельное спасибо!), то в методе request() кастомного класса LectureDataTaskSubscription Вы реализуете бизнес-логику сетевого запроса. На мой взгляд это нарушает принцип единственной ответственности SOLID. Subscription позволяет управлять взаимодействием между Publisher и Subscriber, это его ответственность. А бизнес-логика получения данных, например, сетевой запрос и его обработка, должна содержаться в отдельной сущности, но никак не в подписке. Возможно я неправ, т.к. Вы изначально создаёте Publiser-а, Subscriber-а, Subscription и sink() именно для сетевого взаимодействия. Буду признателен, если прокомментируете.
Спасибо за очень полезную лекцию! У меня вопрос. Когда вы рассматриваете, как работает Combine под капотом (за это отдельное спасибо!), то в методе request() кастомного класса LectureDataTaskSubscription Вы реализуете бизнес-логику сетевого запроса. На мой взгляд это нарушает принцип единственной ответственности SOLID. Subscription позволяет управлять взаимодействием между Publisher и Subscriber, это его ответственность. А бизнес-логика получения данных, например, сетевой запрос и его обработка, должна содержаться в отдельной сущности, но никак не в подписке. Возможно я неправ, т.к. Вы изначально создаёте Publiser-а, Subscriber-а, Subscription и sink() именно для сетевого взаимодействия. Буду признателен, если прокомментируете.