VIPER/CleanSwift. Where to put reusable business-logic that is used across many views?

Viewed 66

I want to start using CleanSwift architecture, especially the VIPER interpretation thereof, but I have some question.

Example: I have cart view. When some new item added to cart, that view update data (count increase). And when I press on it - open "CartViewController". I use that view many times across app, and code-base in only one.

Question: How can that view be implemented via VIPER as an interpretation of a CleanSwift architecture? I need to implement that the business logic somewhere that corresponds to every view for each scene in the view/UI zone of VIPER? How do I separate the business-logic concern in VIPER from the view UI concern so that VIPER inhibits massive-view-controller anti-pattern or malarchitecture? But also how can I do that while achieving a re-use of that business logic when it is the same?

0 Answers
Related