Junior — Middle
Πώς πραγματοποιείται η αλληλεπίδραση μεταξύ των διαφορετικών στρωμάτων και συστατικών σε μια πολυεπίπεδη αρχιτεκτονική συστήματος;
sobes.tech AI
Απάντηση από AI
Σε μια πολυεπίπεδη αρχιτεκτονική συστήματος, η αλληλεπίδραση μεταξύ των στρωμάτων και των συστατικών συμβαίνει συνήθως μέσω σαφώς ορισμένων διεπαφών και πρωτοκόλλων. Για παράδειγμα, στο iOS, συχνά χρησιμοποιείται το μοτίβο MVC ή MVVM, όπου η Προβολή αλληλεπιδρά με το ViewModel ή τον Ελεγκτή, που με τη σειρά τους έχουν πρόσβαση στο μοντέλο δεδομένων. Η επικοινωνία μπορεί να πραγματοποιηθεί μέσω αντιπροσώπων, ειδοποιήσεων (NotificationCenter), closures ή βιβλιοθηκών αντιδραστικών (Combine, RxSwift).
Παράδειγμα αλληλεπίδρασης μέσω αντιπροσώπου:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Ανάκτηση δεδομένων
let data = "Νέα δεδομένα"
delegate?.didUpdateData(data)
}
}
class ViewController: UIViewController, DataUpdateDelegate {
let model = Model()
override func viewDidLoad() {
super.viewDidLoad()
model.delegate = self
model.fetchData()
}
func didUpdateData(_ data: String) {
print("Ενημερωμένα δεδομένα: \(data)")
}
}