Deneme 10 soru

Nesneye Yönelik Programlama Final Deneme Sınavı -10

Kaynak: https://lolonolo.com/2022/08/13/nesneye-yonelik-programlama-final-deneme-sinavi-10/

📖 Konu özeti (sınav öncesi tekrar)

Nesneye Yönelik Programlama Tasarım

Nesneye Yönelik Programlama Tasarım

Nesneye Yönelik Programlama Final Deneme Sınavı -10

10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Aşağıdakilerden hangisi Nesneye Yönelik Tasarım presinplerinden (SOLID prensipleri) biri değildir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

SOLID, beş prensibin baş harflerinden oluşur: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation ve Dependency Inversion. "Hata Yakalama Prensibi" bu beş prensip arasında yer almaz.

Soru 2
I – Tek Sorumluluk Prensibi
II – Açık/Kapalı Prensibi
III – Bağımlığı Tersine Çevirme Prensibi
Yukarıda verilen SOLID tasarım prensiplerinden hangisi veya hangileri doğrudur ?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Verilen üçü de SOLID prensiplerindendir. Tek Sorumluluk (S), Açık/Kapalı (O) ve Bağımlılığı Tersine Çevirme (D) prensipleri bu kısaltmanın harflerini oluşturur. SOLID'in diğer iki harfi ise Liskov İkame (L) ve Arabirim Ayırma (I) prensipleridir.

Soru 3
Nesneye Yönelik tasarımda, Tek Sorumluluk Prensibi (Single Responsibility Principle) ile ortaya konulan ana hedef aşağıdakilerden hangisinde verilmiştir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Tek Sorumluluk Prensibi'ne göre bir sınıfın veya yapının yalnızca tek bir sorumluluğu, yani değişmek için tek bir nedeni olmalıdır. Böylece kod daha anlaşılır olur ve bakımı kolaylaşır. Bağımlılıkları azaltmak ise ağırlıklı olarak Bağımlılığı Tersine Çevirme prensibinin konusudur.

Soru 4
Nesneye Yönelik tasarımda, Tek Sorumluluk Prensibi (Single Responsibility Principle) ile ilgili verilen ifadelerden hangisi doğrudur?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Tek Sorumluluk Prensibi, bir sınıfın yalnızca bir sorumluluğa sahip olmasını ifade eder. Bu, sınıfta tek bir metot olması gerektiği anlamına gelmez. Aynı sorumluluğa hizmet eden birden çok metot aynı sınıfta bulunabilir; A şıkkındaki yanılgı budur.

Soru 5
Nesneye Yönelik tasarımda bir sınıfın (class) veya yapı (struct) sorumluluklarını sınırlandırarak, birden fazla sorumluluğun tanımlanmasının tasarım sorunlarına sebep olabileceğini belirten ilke aşağıdakilerden hangisinde verilmiştir?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Bir sınıfın sorumluluklarını sınırlandıran ve birden fazla sorumluluk yüklemenin tasarım sorunlarına yol açacağını söyleyen ilke Tek Sorumluluk Prensibi'dir (SRP). Birden çok sorumluluğu olan bir sınıf, birden çok nedenle değişmek zorunda kalır ve bu da kodu kırılgan hâle getirir.

Soru 6
I – Temel sınıf bir işlevi yerine getiriyorsa, türetilmiş sınıflarda o işlemleri yerine getirebilmelidir.
II – Bir sınıf sadece bir sınıftan türetilmelidir.
III – Bir sınıfın sadece bir sınıfa ait bağımlığı olmalıdır.
Liskov İkame Prensibi ilgili verilenlerden hangisi veya hangileri doğrudur?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Liskov İkame Prensibi'ne göre türetilmiş sınıflar, temel sınıfın yerine kullanıldığında programın doğru çalışması bozulmamalıdır. Yani temel sınıfın yerine getirdiği işlevleri alt sınıflar da yerine getirebilmelidir. II ve III bu prensiple ilgili değildir, bu yüzden yalnız I doğrudur.

Soru 7
I – Açık/Kapalı Prensibi
II – Bağımlığı Tersine Çevirme Prensibi
III – Arabirim Ayırma Prensibi
Yüksek seviyedeki modüllerin alt seviyedeki modüllere olan bağımlılığını azaltan prensip veya prensipler hangisinde doğru olarak verilmiştir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Bağımlılığı Tersine Çevirme Prensibi'ne (Dependency Inversion) göre üst seviye modüller alt seviye modüllere doğrudan bağımlı olmamalıdır. Her ikisi de soyutlamalara (interface veya soyut sınıf) bağımlı olmalıdır. Açık/Kapalı prensibi genişletilebilirlikle, Arabirim Ayırma prensibi ise interface'lerin küçük tutulmasıyla ilgilidir.

Soru 8
Nesneye Yönelik Programlama Ünite 10, Soru 8Yukarıdaki şekilde verilen işlemi tarif eden tasarım prensibi aşağıdakilerden hangisinde verilmiştir?
DDoğru cevap
Soru 9
Açık/Kapalı Prensibinde bulunan Açık ilkesi neyi ifade etmektedir?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Açık/Kapalı Prensibi'ndeki "açık" ifadesi, sınıfın genişletmeye açık olmasını anlatır. Yani sınıfa, mevcut kodu değiştirmeden (kalıtım veya interface ile) yeni davranışlar eklenebilmelidir. B şıkkı Liskov İkame Prensibi'ni, A şıkkı ise Tek Sorumluluk Prensibi'ni tanımlar.

Soru 10
Açık/Kapalı Prensibinde bulunan Kapalı ilkesi neyi ifade etmektedir?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Açık/Kapalı Prensibi'ndeki "kapalı" ifadesi, sınıfın mevcut kodunun değişikliğe kapalı olmasını anlatır. Yeni bir ihtiyaç doğduğunda var olan, test edilmiş kod değiştirilmez; bunun yerine sınıf genişletilir. C şıkkı ise prensibin "açık" kısmını tanımlar.