Sobes.tech
Junior — Middle

Anemik model kavramını ve özünü açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Anemik Model (Anemic Domain Model), nesne yönelimli tasarımda bir anti-patentir ve nesneler sadece veri (alanlar) içerir, iş mantığı içermez ve tüm mantık bu nesnelerin dışında, örneğin servislerde veya denetleyicilerde uygulanır.

Anemik modelin özü, alan nesnelerinin 'düz' veri yapıları haline gelmesidir, bu da nesne yönelimli tasarım ilkelerine aykırıdır; burada veriler ve davranış birlikte kapsüllenmelidir. Bu, daha az sürdürülebilir ve daha az genişletilebilir koda yol açabilir.

Anemik modele örnek:

class User {
    var name: String
    var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

// Yaş kontrolü mantığı ayrı bir yerde
func isAdult(user: User) -> Bool {
    return user.age >= 18
}

Buna karşılık, zengin modelde (Rich Domain Model), isAdult metodu User sınıfının bir parçası olurdu.