CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Uzman finali iskeletini tasarlarsın.

Proje: uzman finali

Bu beş derslik projede uzman seviyenin tüm katmanlarını birleştiren bir mini servis çatısı kuracaksın. Her derste bir katman ekleyecek, son derste hepsini birlikte çalıştıracaksın. Açıklama (annotation), tasarım deseni, reaktif, bytecode ve yerel kod kavramlarını bir arada kullanacaksın.

İlk olarak @Service ek açıklamasını ve HelloService sınıfını tanımlayacaksın. Sonraki derslerde reaktif yayın, performans ölçümü, servis kaydı, yerel köprü ve bytecode denetimi ekleyeceksin.

tasarım deseni katmanı

Projede Registry deseni kullanacaksın: ad ile örnek eşlemesi tutan bir kayıt sınıfı. @Service ile işaretli sınıflar bu kayda eklenir; istendiğinde adıyla bulunur. Bu, bağımlılık enjeksiyonunun basit bir modelidir.

İlk derste yalnızca @Service ek açıklamasını ve HelloService sınıfını tanımlayacaksın. Kayıt deseni sonraki derslerde gelir.

Uygulama @Service ek açıklamasını ve HelloService'i tanımla

@interface Service {} ile bir ek açıklama tanımla. @Service ile işaretli class HelloService tanımla; String greet() metodu "hello" döndürsün. main içinde HelloService s = new HelloService(); oluştur ve System.out.println("service ready: " + s.greet()); yazdır.

Başlangıç kodu

Main.java
// Hizmet ek açıklamasını tanımla
// HelloService sınıfını tanımla: greet metodu hello döndürsün

// Main: bir HelloService oluştur ve service ready yazdır

Örnek çözüm

Main.java
@interface Service {}

@Service
class HelloService {
    String greet() { return "hello"; }
}

public class Main {
    public static void main(String[] args) {
        HelloService s = new HelloService();
        System.out.println("service ready: " + s.greet());
    }
}

Beklenen çıktı

service ready: hello

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bu proje hangi kavramları birleştirir?

  • Yalnızca veri tabanı
  • Yalnızca grafik arayüz
  • Açıklama, desen, reaktif, bytecode, yerel Doğru cevap
  • Yalnızca thread

Açıklama: Proje açıklama, desen, reaktif, bytecode ve yerel kod katmanlarını birleştirir.

2 ek açıklama bildirimini tamamla

Soru
@____ Service {}
Cevap
@interface Service {}

Açıklama: @interface Service {} bir ek açıklama tanımlar.

3 proje katmanlarını eşleştir

Kavram Anlamı
@Service Açıklama işareti
Registry Hizmet kaydı
Publisher Reaktif yayın
ClassVisitor Bytecode gezini

Uzman bölümündeki tüm dersler