Sobes.tech
Junior — Middle

Ako ste implementovali architektonický vzor Clean Swift vo svojich projektoch?

sobes.tech AI

Odpoveď od AI

V iOS projektoch som implementoval architektonický vzor Clean Swift a rozdelil logiku do jasných vrstiev: View, Interactor, Presenter, Entity a Router.

  • View je zodpovedný iba za zobrazenie a interakciu s používateľom.
  • Interactor obsahuje obchodnú logiku a spracováva požiadavky.
  • Presenter formátuje údaje na zobrazenie.
  • Entity sú dátové modely.
  • Router riadi navigáciu.

Napríklad pre obrazovku zoznamu používateľov:

// Interactor
class UserListInteractor {
    func fetchUsers() {
        // Získanie dát zo siete alebo databázy
        // Odovzdanie výsledku do Presenter
    }
}

// Presenter
class UserListPresenter {
    func present(users: [User]) -> [UserViewModel] {
        // Formátovanie dát pre UI
    }
}

// ViewController
class UserListViewController: UIViewController {
    var interactor: UserListInteractor!
    var presenter: UserListPresenter!

    func viewDidLoad() {
        super.viewDidLoad()
        interactor.fetchUsers()
    }

    func display(users: [UserViewModel]) {
        // Aktualizácia UI
    }
}

Tento prístup zlepšuje testovateľnosť, údržbu a škálovateľnosť kódu.