Şimdi Ara

Java Kodu Açıklama!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
5
Cevap
0
Favori
1.000
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Aşağıdaki kodları açıklayabilecek, javadan anlayan yardımsever arkadaşlar varsa rica etsem yardım edebilir mi ?

    Java Kodu Açıklama!



  • @jötem1


    Blok blok aciklayalim:


    1. Blokta bir arayuz tanimliyorsun. Bu arayuz, arayuzu kullanacak siniflar icin bir anlasma/kontrakt olacak.
    2. Blokta bu arayuzu gerceklestiren bir sinif tanimliyorsun. Arayuz taniminda createMobile diye bir metod oldugu icin, bu metodu bu sinifta tanimlayip icini dolduruyorsun. Bu metod ise bir tip parametresi aliyor. Bu bir factory sinifi oldugu icin, gorevi verilen tipe gore uygun objeler uretmek. Burada tip olarak "lenf" parametresi gecirildiginde, sana bir LenovoMobileFactory objesi donuyor. Eger tip olarak "samf' turunde bir obje istiyorsan, bunu da sana SamsungMobileFactory tipinde obje olarak geri donuyor. Bunlardan herhangi biri degilse gonderdigin parametre, null donuyor.
    3. Burada MobileFactory sinifinindan kalitlayarak, Lenovoya ozel bir sinif yaratiyorsun. Bu sinif Lenovo objesi donebilmek icin, bir ustteki adimda tanimladigin Factory sinifinin kullanabilecegi metod olan createLenovoMobile metodugunu iceriyor.
    4. Bir onceki adimla mantik ayni. Bu sefer bu isi Samsunga ozel yapiyorsun.
    5. Bu adimda kodunu test ediyorsun. Ilk adim Factory objesini yaratmak. Sonraki adim bu sinifin createMobile objesini cagirmak. Bunu da lenovoya ozel parametre ile cagirmak. Donen obje tipinin LenovoMobileFactory oldugunu bildigin icin bunu LenovoMobileFactory olarak cast ediyorsun. Sonrasinda LenovoMobileFactory nin createLenovoMobile metodunu cagiriyorsun. Buradan sana bir Lenovo objesi donuyor. Lenovo objesinin sinifini bu adimlarda belirtmemis, ama pictureCapacity diye bir metodu var, ve en son adimda bu cagiriliyor.


    Kodu daha iyi anlamak icin onerim, bunu bir IDE icinde yazmak. Sonrasinda AbstractFactoryTest i cagirip neler oldugunu takip etmeye calismak olur. Ayrica ornegin son adimda LenovoMobileFactory yerine SamsungMobileFactory kullansaydin neler olurdu bunu anlamaya calis. Son onerim de Abstract Factory Pattern nedir bunu ogrenmeye calis. Cunku bu kodun amaci sana tasarim desenleri ogretmek. Bu gibi desenler sayesinde, ornegin sisteme bir de AppleFactory eklemek istediginde bunu yapabilmek icin cok az kod degisikligine ihtiyacin olacak. Yazilimda da amac, eger yeni ozellikler eklenecekse, mumkun oldugunca kod degisikliginden kacinmak. Yeni ozellikleri sisteme yeni kodlar ekleyerek dahil edebilmelisin. Bu sayede hem varolan kodu bozma riskini ortadan kaldirirsin, hem de mimarideki bagimliligi azaltirsin.





  • şuraya bir bakmanı tavsiye ederim

    www.tutorialspoint.com
    Design Pattern - Abstract Factory Pattern - Tutorialspoint
    https://www.tutorialspoint.com/design_pattern/abstract_factory_pattern.htm
  • quote:

    Orijinalden alıntı: thracian222

    şuraya bir bakmanı tavsiye ederim

    https://www.tutorialspoint.com/design_pattern/abstract_factory_pattern.htm

    arkadaşın dediği gibi factory pattern örneği , pattern sadece fikir verir ayrıca çok temel olacak ama :D bknz: https://en.wikipedia.org/wiki/Polymorphism_(computer_science) Java Kodu Açıklama! 




    < Bu mesaj bu kişi tarafından değiştirildi olmazadam -- 22 Aralık 2020; 11:31:44 >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.