.NET MVC Döviz Kurları Uygulaması - R10.net
  • 01-12-2019, 04:25:17
    #1
    Merhaba Arkadaşlar,
    GitHub hesabımda, verdiğim bir eğitimde anlattığım konu olan .NET MVC ile Döviz Kurları Uygulamasını yayınladım. Şu an sadece TCMB'den aldığı döviz kurlarını listeliyor. Zaman buldukça geliştirmeyi düşünüyorum. Eğer sizde kullanmak ve gelişimine katkıda bulunmak isterseniz https://github.com/umutulukurt/MVCDovizKurlari linkinden ulaşabilirsiniz.
    .NET Yazılım Geliştirme Uzmanı | Yazılım Danışmanı
  • 01-12-2019, 10:45:40
    #2
    umutulukurt adlı üyeden alıntı
    Merhaba Arkadaşlar,
    GitHub hesabımda, verdiğim bir eğitimde anlattığım konu olan .NET MVC ile Döviz Kurları Uygulamasını yayınladım. Şu an sadece TCMB'den aldığı döviz kurlarını listeliyor. Zaman buldukça geliştirmeyi düşünüyorum. Eğer sizde kullanmak ve gelişimine katkıda bulunmak isterseniz https://github.com/umutulukurt/MVCDovizKurlari linkinden ulaşabilirsiniz.
    Sade ve anlaşılır. Teşekkürler
  • 05-04-2020, 18:05:30
    #3
    Eline sağlık.
    SOLID prensiplerine göre biraz daha toparlanabilir.

    Her bir kur bilgisini sağlayan sağlayıcı(provider) için ayrı bir class oluşturup bunları Adapter Design Pattern ile yönetebilirsin.
    Böylece kod okuma daha kolay, düzenli ve kolay entegrasyon yapabilirsin.

    Daha sonra gelecek olan sağlayıcılar kolaylıkla entegre edilebilir.
  • 05-04-2020, 20:35:14
    #4
    YeG adlı üyeden alıntı
    Eline sağlık.
    SOLID prensiplerine göre biraz daha toparlanabilir.

    Her bir kur bilgisini sağlayan sağlayıcı(provider) için ayrı bir class oluşturup bunları Adapter Design Pattern ile yönetebilirsin.
    Böylece kod okuma daha kolay, düzenli ve kolay entegrasyon yapabilirsin.

    Daha sonra gelecek olan sağlayıcılar kolaylıkla entegre edilebilir.
    Önerileriniz için teşekkürler, fakat adapter pattern yerine factory pattern'da kullanılabilir, en basiti herhangi bir pattern'a bağlı kalmadan bir interface ile kalıtım alınıp ta yapılabilir.
    Veriyi hangi sağlayıcıdan alırsa alsın, döndüreceği veri ve fonksiyon aynı olacak neticede.

    Konuda da belirttiğim gibi, dilediğiniz gibi güncelleyip kullanabilirsiniz. Hatta paylaşırsanız bir sürü insan faydalanabilir.

    İyi çalışmalar
    .NET Yazılım Geliştirme Uzmanı | Yazılım Danışmanı
  • 05-04-2020, 22:42:32
    #5
    Her providerı factory yapmak uygun değil aslında.
    Çünkü factory creational olarak bilindiği için amacı sadece obje yaratmak.
    Örnek olarak şu kodu incelersek;
    interface ImageReader {     DecodedImage getDecodeImage(); }  class DecodedImage {     private String image;      public DecodedImage(String image) {         this.image = image;     }      @Override     public String toString() {         return image + ": is decoded";     } }  class GifReader implements ImageReader {     private DecodedImage decodedImage;      public GifReader(String image) {         this.decodedImage = new DecodedImage(image);     }      @Override     public DecodedImage getDecodeImage() {         return decodedImage;     } }  class JpegReader implements ImageReader {     private DecodedImage decodedImage;      public JpegReader(String image) {         decodedImage = new DecodedImage(image);     }      @Override     public DecodedImage getDecodeImage() {         return decodedImage;     } }  public class FactoryMethodDemo {     public static void main(String[] args) {         DecodedImage decodedImage;         ImageReader reader = null;         String image = args[0];         String format = image.substring(image.indexOf('.') + 1, (image.length()));         if (format.equals("gif")) {             reader = new GifReader(image);         }         if (format.equals("jpeg")) {             reader = new JpegReader(image);         }         assert reader != null;         decodedImage = reader.getDecodeImage();         System.out.println(decodedImage);     } }
    Buradaki XReaderlar sadece bir obje yaratır. String alır ve onu objeye çevirir görevi çok simpledır.
    O yüzden de "... bir interface ile kalıtım alınıp ta yapılabilir..." dediğiniz noktada artık bir structure'a dönüşüyor. Bu yüzden adapter, strategy daha uygun.
  • 05-04-2020, 23:09:38
    #6
    YeG adlı üyeden alıntı
    Her providerı factory yapmak uygun değil aslında.
    Çünkü factory creational olarak bilindiği için amacı sadece obje yaratmak.
    Örnek olarak şu kodu incelersek;
    interface ImageReader {     DecodedImage getDecodeImage(); }  class DecodedImage {     private String image;      public DecodedImage(String image) {         this.image = image;     }      @Override     public String toString() {         return image + ": is decoded";     } }  class GifReader implements ImageReader {     private DecodedImage decodedImage;      public GifReader(String image) {         this.decodedImage = new DecodedImage(image);     }      @Override     public DecodedImage getDecodeImage() {         return decodedImage;     } }  class JpegReader implements ImageReader {     private DecodedImage decodedImage;      public JpegReader(String image) {         decodedImage = new DecodedImage(image);     }      @Override     public DecodedImage getDecodeImage() {         return decodedImage;     } }  public class FactoryMethodDemo {     public static void main(String[] args) {         DecodedImage decodedImage;         ImageReader reader = null;         String image = args[0];         String format = image.substring(image.indexOf('.') + 1, (image.length()));         if (format.equals("gif")) {             reader = new GifReader(image);         }         if (format.equals("jpeg")) {             reader = new JpegReader(image);         }         assert reader != null;         decodedImage = reader.getDecodeImage();         System.out.println(decodedImage);     } }
    Buradaki XReaderlar sadece bir obje yaratır. String alır ve onu objeye çevirir görevi çok simpledır.
    O yüzden de "... bir interface ile kalıtım alınıp ta yapılabilir..." dediğiniz noktada artık bir structure'a dönüşüyor. Bu yüzden adapter, strategy daha uygun.
    Behavior pattern'lar da creational pattern'lar da her ne kadar farklı işler yapsalar da ortak amaç üzerine inşa edilir. Ki bu design pattern'ların projelere implement edilmesindeki en önemli etkendir. Şimdi burada, hangi proje için hangi pattern daha uygundur tartışmasına mı gireceğiz? Ayrıca ben size adapter uygun değil demedim ki, sadece farklı yapılarda kullanılabilir dedim. İkisi farklı şeyler.
    İyi çalışmalar.
    .NET Yazılım Geliştirme Uzmanı | Yazılım Danışmanı
  • 05-04-2020, 23:17:20
    #7
    Patternların birlikte kullanılıp bir yapı oluşturması kadar doğal bir şey yok seninde dediğin gibi.

    Ama şu cümlede; "Önerileriniz için teşekkürler, fakat adapter pattern yerine factory pattern'da kullanılabilir."
    "yerine" dediğin için o şekilde cevap verdim
    Amacım kavga çıkarmak veya "ben çok biliyorum" demek değil.
    Ben yanlış biliyorsam onu da düzeltelimdi.

    Sağlıklı günler