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 MVC Döviz Kurları Uygulaması
6
●542
- 01-12-2019, 04:25:17
- 01-12-2019, 10:45:40umutulukurt adlı üyeden alıntı: mesajı görüntüle
- 05-04-2020, 18:05:30Eline 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:14YeG adlı üyeden alıntı: mesajı görüntüle
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 - 05-04-2020, 22:42:32Her 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:38YeG adlı üyeden alıntı: mesajı görüntüle
İyi çalışmalar. - 05-04-2020, 23:17:20Patternları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
« Timer ile JavaScript Çağırma
|
Tıkladiginda ekrani kirpma araci cikan bir eklenti yada kod var mi? »