Proje tasarımı
- Java kursu
- Uzman
- Ders 42/46
- 6 dk
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
// 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
@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
@____ Service {}
@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 |