Kullanımı Kolay Swift Tasarım Kalıpları: Memento

Kullanımı Kolay Swift Tasarım Kalıpları: Memento

Swift programlama dili, geliştirme deneyimini kolaylaştırmak için birçok olağanüstü özellik sunmaktadır. Bunlar arasında en önemlisi tasarım kalıplarıdır. Tasarım kalıpları, kodu daha kolay ve hızlı yazmamıza yardımcı olan tekrarlanan stratejilere dayanır. Bu yazıda, Memento tasarım kalıplarının nasıl kullanıldığını açıklayacağız.

Tasarım kalıpları, gereksiz kod tekrarını önlemek için kullanılır. Memento tasarım kalıbı, nesne durumunu kaydetmeyi sağlar. Bu, belirli bir nesnedeki değişiklikleri kaydetmek ve geri almak için kullanışlıdır.

Memento tasarım kalıbının en temel özelliği, Nesne Durumu Sınıfı’nın kullanımıdır. Bu sınıf, nesnenin durumunu diğer bilgilerle birlikte saklamanıza olanak tanır. Ayrıca, bu sınıf ayrıca geri alma ve ileri alma işlemlerini destekleyen metotlar içerir.

Aşağıdaki kod parçası, Nesne Durumu Sınıfının nasıl oluşturulacağını göstermektedir:

class State {
    var data: String
    init(data: String) {
        self.data = data
    }
}

Bu sınıf, Nesne Durumu Sınıfının temel özelliklerini temsil eder. Kodun üstünde, nesnenin durumunu saklamak için String değişkeni tanımlanmıştır. Diğer özellikler, doğrudan başlatma metoduna eklenmiştir.

Memento tasarım kalıbının diğer önemli özelliği, Memento Sınıfıdır. Bu sınıf, Nesne Durumu Sınıfının özelliklerini saklamaya yardımcı olur. Aşağıdaki kod parçası, Memento Sınıfının nasıl oluşturulacağını göstermektedir:

class Memento {
    var state: State

    init(state: State) {
        self.state = state
    }
}

Bu sınıf, Nesne Durumu Sınıfının özelliklerini tutmak için State değişkeni içerir. Diğer özellikler, başlatma metoduna eklenmiştir.

Memento tasarım kalıbının son önemli özelliği, Memento Kontrolcüsüdür. Bu sınıf, geri alma ve ileri alma işlemlerini yönetmek için kullanılır. Aşağıdaki kod parçası, Memento Kontrolcüsünün nasıl oluşturulacağını göstermektedir:

class MementoController {
    var states = [State]()

    func addState(state: State) {
        states.append(state)
    }

    func undo() -> State? {
        guard !states.isEmpty else { return nil }
        let lastState = states.removeLast()
        return lastState
    }

    func redo() -> State? {
        guard !states.isEmpty else { return nil }
        let lastState = states.removeFirst()
        return lastState
    }
}

Bu sınıf, Memento Sınıfını kullanarak nesnelerin durumunu kaydetmek ve geri almak için kullanılır. Kodun üstünde, durumları tutmak için bir dizi tanımlanmıştır. Diğer özellikler, durumları ekleme ve geri alma/ileri alma metotlarına eklenmiştir.

Swift programlama dili, yazılımcılara tasarım kalıplarını kullanmalarına olanak tanır. Memento tasarım kalıbı, nesne durumunu kaydetmeyi ve geri almayı sağlamak için kullanılır. Bu tasarım kalıbının temel özellikleri Nesne Durumu Sınıfı, Memento Sınıfı ve Memento Kontrolcüsüdür. Bu özellikler, kodu daha kolay ve hızlı yazmanıza yardımcı olur.

Scroll to Top