SOLID Prensipleri: Yazılım Geliştirme İlkeleri
10 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Tek Sorumluluk Prensibine göre, bir sınıfın sorumlulukları nedir?

  • Sorumlulukların sayısı sınıflarla orantılı olmalıdır.
  • Birden fazla sorumluluğu olmalı.
  • Sınıflar sorumluluk taşımamalı.
  • Tek bir sorumluluğu olmalı. (correct)
  • Aşağıdakilerden hangisi SOLID prensiplerinden biri değildir?

  • Don't Repeat Yourself (correct)
  • Single Responsibility Principle
  • Open/Closed Principle
  • Dependency Inversion Principle
  • UserServiceImpl sınıfının createUser metodunun sorumlulukları nedir?

  • Kullanıcı objesi oluşturma, yaş hesaplama ve database katmanına gönderme. (correct)
  • Kullanıcı objesi oluşturma ve yaş hesaplama.
  • Kullanıcı objesi oluşturma ve database katmanına gönderme.
  • Kullanıcı objesi oluşturma ve isteği kaybetme.
  • Aşağıdaki hangi prensip, bir sınıfın birden fazla sorumluluğu olmasını önlemektir?

    <p>Single Responsibility Principle</p> Signup and view all the answers

    SOLID prensiplerinin amacı nedir?

    <p>Yazılım geliştirmeyi daha sağlıklı, sürdürülebilir ve kalıcı hale getirmek.</p> Signup and view all the answers

    Kodumuzda createUser methodu yalnızca obje oluşturup objeyi database kısmına bırakırken, calculateCurrentAge fonksiyonu hangi işi üstleniyor?

    <p>Verilen tarih ve şimdiki tarih ile aradaki farkı alıp integer değer dönmek</p> Signup and view all the answers

    Open/Closed Principle'ye göre sınıflar nasıl olmalıdır?

    <p>Genişletilmeye açık fakat değişime kapalı</p> Signup and view all the answers

    NotificationService sınıfına sonra SMS gönderme fonksiyonu eklendiğinde, hangi sorunu çözer?

    <p>SMS gönderme fonksiyonunu ekler</p> Signup and view all the answers

    Bir sınıfın sorumluluklarını ayrı fonksiyonlara bölmek hangi avantaja sahiptir?

    <p>Kodumuzun okunabilirliğini ve sürdürülebilirliğini arttırır</p> Signup and view all the answers

    CreateUserRequest sınıfına hangi bilgiyi aldığını varsayalım?

    <p>Kullanıcının kullanıcı adını ve doğum tarihi bilgilerini</p> Signup and view all the answers

    Study Notes

    SOLID Prensipleri

    • SOLID prensipleri, yazılım geliştirmeyi daha sağlıklı, sürdürülebilir ve kalıcı hale getirecek 5 temel prensiptir.

    Single Responsibility Principle (Tek Sorumluluk Prensibi)

    • Her sınıfın ve methodun tek bir sorumluluğu olmalıdır.
    • Tek bir amacı hizmet etmelidir.
    • Örnek: CreateUser methodu yalnızca kullanıcı objesi oluşturup bunu dönmelidir veya database katmanına göndermelidir.

    Single Responsibility Principle (Tek Sorumluluk Prensibi) - Örnek Uygulama

    • CreateUser methodu yalnızca obje oluşturup objeyi database kısmına bırakırken, calculateCurrentAge fonksiyonu yalnızca verilen tarih ve şimdiki tarih ile aradaki farkı alıp integer değer dönmelidir.
    • Bu ayrılan fonksiyonlar yeni eklenecek fonksiyonlar tarafından da kullanılabilir ve geliştirme hızını arttırır.

    Open/Closed Principle (Açık/Kapalı Prensibi)

    • Sınıflar genişletilmeye açık fakat değişime kapalı olmalıdır.
    • Yani, mevcut kod değişmeden yeni özellikler eklenebilmelidir.
    • Örnek: Bildirim gönderme fonksiyonu eklemek için mevcut sınıfın değiştirilmeden yeni özellikler eklenebilir.

    Open/Closed Principle (Açık/Kapalı Prensibi) - Örnek Uygulama

    • Bildirim gönderme fonksiyonu eklemek için vorhandNotificationService sınıfına yeni özellikler eklenebilir.
    • Örneğin, SMS gönderme fonksiyonu eklemek için NotificationService sınıfına SmsNotification sınıfı eklenebilir.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    SOLID prensipleri, yazılım geliştirmeyi sağlıklı, sürdürülebilir ve kalıcı hale getirme konuda 5 temel prensiptir. Her yazılımcının takip etmesi gereken temel bir kılavuzdur.

    More Like This

    Software Design Patterns Overview
    12 questions
    Software Design Patterns
    10 questions
    Use Quizgecko on...
    Browser
    Browser