Sobes.tech
Junior — Middle

Můžeš vysvětlit hlavní vzory návrhu a jejich použití?

sobes.tech AI

Odpověď od AI

Hlavní návrhové vzory jsou osvědčená řešení běžných problémů vývoje, která pomáhají vytvářet flexibilní, udržovatelný a rozšiřitelný kód. Zde jsou některé klíčové vzory a jejich použití v iOS:

  • Singleton (Jedinečný): zajišťuje, že třída má pouze jednu instanci. Často se používá pro správce, například UserDefaults.standard.

  • Delegate (Delegát): umožňuje jednomu objektu předávat odpovědnost jinému. Široce se používá v UIKit pro zpracování událostí, například UITableViewDelegate.

  • Observer (Pozorovatel): objekty se přihlašují k událostem a dostávají oznámení. V iOS je to NotificationCenter.

  • Factory (Továrna): vytváří objekty bez určení konkrétní třídy. Je vhodná pro tvorbu různých typů UI prvků.

  • MVC (Model-View-Controller): architektonický vzor, který odděluje data, rozhraní a logiku.

Příklad použití delegáta:

protocol DownloadDelegate: AnyObject {
    func didFinishDownload(data: Data)
}

class Downloader {
    weak var delegate: DownloadDelegate?
    func start() {
        // načítání...
        let data = Data()
        delegate?.didFinishDownload(data: data)
    }
}

class ViewController: UIViewController, DownloadDelegate {
    func didFinishDownload(data: Data) {
        print("Stahování dokončeno")
    }
}

Vzorové vzory pomáhají psát čistší a srozumitelnější kód, což usnadňuje údržbu a rozvoj aplikací.