🎓 Bounlu tarafından hazırlandı
23.718 görüntülenme

Nesne Yönelimli Tasarım İlkeleri Nedir?

Nesne yönelimli programlama (OOP), yazılım geliştirme sürecinde modülerlik, yeniden kullanılabilirlik ve bakım kolaylığı sağlamak amacıyla nesneler aracılığıyla veri ve davranışları bir araya getiren bir paradigma olarak öne çıkar. Nesne yönelimli tasarım ilkeleri ise bu paradigmanın daha sağlam, esnek ve anlaşılır sistemler oluşturulmasına yardımcı olan temel prensiplerdir.

Kısa cevap

Nesne yönelimli tasarım ilkeleri, Robert C. Martin tarafından popülerleştirilen SOLID prensiplerini kapsar: Tek Sorumluluk (SRP), Açıklık/Kapalılık (OCP), Yerine Koyma (LSP), Arayüz Ayrımı (ISP) ve Bağımlılığın Tersine Çevrilmesi (DIP). Bu ilkeler, sürdürülebilir ve ölçeklenebilir yazılım sistemleri oluşturmak için rehberlik eder.

01

Adım adım çözümlü örnekler

Tek Sorumluluk Prensibi (SRP) bir sınıfa neden uygulanmalıdır?

Bir sınıfın yalnızca bir ana sorumluluğu olmalıdır. Bu, sınıfın yalnızca bir nedenle değişmesi gerektiği anlamına gelir. Eğer bir sınıf birden fazla sorumluluğa sahipse, bu sorumlulukları farklı sınıflara ayırmak, kodun daha anlaşılır, test edilebilir ve bakımı daha kolay olmasını sağlar.

Açıklık/Kapalılık Prensibi (OCP) yazılımın esnekliğini nasıl artırır?

Yazılım varlıkları (sınıflar, modüller, fonksiyonlar vb.) genişlemeye açık, ancak değiştirmeye kapalı olmalıdır. Bu, mevcut kodu değiştirmeden yeni işlevsellik eklemeyi mümkün kılarak hataları azaltır ve geliştirme sürecini hızlandırır.

Bağımlılığın Tersine Çevrilmesi Prensibi (DIP) soyutlamaları nasıl kullanır?

Üst düzey modüller alt düzey modüllere bağlı olmamalıdır; her ikisi de soyutlamalara bağlı olmalıdır. Soyutlamalar ise detaylara bağlı olmamalıdır; detaylar soyutlamalara bağlı olmalıdır. Bu, sistemin daha gevşek bağlı olmasını ve bağımlılıkların yönetilmesini kolaylaştırır.
02

Bilgi kartları

03

Mini test

S1.Hangi SOLID prensibi, bir sınıfın yalnızca bir ana sorumluluğa sahip olması gerektiğini belirtir?

Doğru cevap: B. Tek Sorumluluk Prensibi (SRP), bir sınıfın yalnızca bir ana sorumluluğa sahip olması gerektiğini savunur.

S2.Yazılım varlıklarının genişlemeye açık ancak değiştirmeye kapalı olması gerektiğini belirten prensip hangisidir?

Doğru cevap: C. Açıklık/Kapalılık Prensibi (OCP), yazılım varlıklarının genişlemeye açık ancak değiştirmeye kapalı olması gerektiğini belirtir.

S3.Hangi prensip, türetilmiş sınıfların temel sınıflarının yerine sorunsuz bir şekilde geçebilmesini gerektiğini söyler?

Doğru cevap: D. Liskov Yerine Koyma Prensibi (LSP), türetilmiş sınıfların temel sınıflarının yerine sorunsuz bir şekilde geçebilmesi gerektiğini ifade eder.
📄Bu konuyu PDF çalışma kağıdı olarak indirKonu özeti + 10 soru + cevap anahtarı — sınıfta paylaş, yazdır.
04

Sık yapılan hatalar

SOLID prensipleri, kodun daha karmaşık hale gelmesine neden olur.Doğrusu: SOLID prensipleri, kodun daha anlaşılır, sürdürülebilir ve ölçeklenebilir olmasına yardımcı olarak uzun vadede karmaşıklığı azaltır.

Her sınıfın yalnızca bir metodu olmalıdır.Doğrusu: Tek Sorumluluk Prensibi (SRP), bir sınıfın yalnızca bir ana sorumluluğu olması gerektiğini belirtir, bu da genellikle birden fazla metodun aynı sorumluluk altında toplanabileceği anlamına gelir.

05

Sıkça sorulan sorular

SOLID prensiplerini uygulamak yazılım geliştirme sürecini yavaşlatır mı?

Başlangıçta biraz daha fazla düşünme ve tasarım gerektirse de, SOLID prensiplerini uygulamak uzun vadede geliştirme sürecini hızlandırır çünkü kodun bakımı, anlaşılması ve genişletilmesi daha kolay hale gelir. Hata ayıklama süresi kısalır.

SOLID prensipleri sadece büyük projeler için mi geçerlidir?

Hayır, SOLID prensipleri hem küçük hem de büyük projeler için geçerlidir. Küçük projelerde bu prensipleri uygulamak, projenin büyümesiyle birlikte ortaya çıkabilecek sorunları önlemeye yardımcı olur.

SOLID prensiplerini uygulamak için hangi araçlar veya kütüphaneler kullanılabilir?

SOLID prensipleri doğrudan belirli araçlar veya kütüphanelerle değil, programlama dilinin ve tasarım desenlerinin doğru kullanımıyla uygulanır. Tasarım desenleri (örn. Factory, Strategy, Observer) SOLID prensiplerini desteklemek için kullanılabilir.

İlgili konular