Basit Bir C# Sorusu (Sınıflarla İlgili)
-
Selamlar,
Kafam şuan durmuş vaziyette ne yapacağımı bilemedim. Aslında daha önce kurmuştum mantığını ama 2 ay ara verince ne yapacağımı da unuttum. Sıfırdan da bir şey üretemiyorum, beynim ciddi ciddi çalışmıyor
Şimdi c# ile ios uygulaması geliştiriyorum, Bir tane wcf servisine bağlanıyorum, bir tane service sınfım var. Bu sınıfı her class da kullanmam gerekiyor. Daha önce base class v.s. oluşturdum, sonra türetecektim ama işte o ara ara verdim, şimdi bakıyorum bu formlar zaten UIViewController dan türüyor (tipik winform un form dan türemesi gibi düşünün), c# da sınıflarda çoklu kalıtım olmadığı için birden fazla türetme olmuyor
neyse şimdi ben bu servisin bazı metodlarını çağırıp ona göre geri dönüş almam lazım formlarda. ama sürekli servisi create etmek istemiyorum. Metodların da asenkron olanlarını çağırıyorum.
İşte tıkandığım nokta burası.. Mesela login metodunu xxx controllerinde (form diyelim) kullanacağım, search metodunu yyyy formunda kullanacağım. Ama dediğim gibi sürekli service i create etmek istemiyorum.
bir sınıf oluşturup orada eventler yazsam, bu servis işini o sınıf çözse ve geri dönüşü de eventler ile yapsam olur..
Yazdıkça aklıma geliyor :) Ama yine hala tam veremedim kendimi. Sabah bi yere gitmem gerekiyor o yüzden biraz yazayım kod dedim ama..
yazdıklarım ne kadar anlaşılr oldu onun bile farkında değilim
-
abi bu soruya forumda cevap verecek birisi varsa o da yarın sen olacaksın :D
-
çözülür sorun da hocam işte önemli olan şimdi bi şeyler yapabilmek aslında bnim n-tier çalışmam gerekiordu. wcf servisini ios a uygulayana kadar canımız çıktı. ama sonunda çözdük olayı. O yüzden sadece deneme kodları yazıyordum orjinal proje üzerine.
şimdi yeni proje oluşturayım diyorum ama form yapısı acayip karışık
bi ara bu c# ile ios uygulaması geliştirme olayını artı ve eksilerini anlatayım..
unbalanced tarafından 30/Eyl/14 01:05 tarihinde düzenlenmiştir -
Her seferinde service clientı oluşturmaman için bi sebebin var mı?
Benim sana tavsiyem Dependency injection uygulayıp Wcf servis clientına da wrapper yazman. O wrapperı da formları enjekte etmen.
-
Ayrıca event leri kullanman cok old school olur hoca. Async await icat edildi gozunu seveyim.
-
c# ile ios nasıl oluyor töbe bismillah?
-
Singleton pattern uymuyor mu? WCF servisinin her kullanıcı için aynı şekilde kullanıldığını varsayıyorum.
public class Servis { int bir_sey_; public Servis(int a) { bir_sey_ = a; } public int GetBirSey() { return bir_sey_; } }
public static class Servisim { private static Servis servis_; static Servisim() { servis_ = new Servis(new Random().Next(0,9999)); } public static Servis GetServis() { if(servis_ != null) { return servis_; } else { servis_ = new Servis(4); return servis_; } } }
class ServisKullanici { private Servis servis_; private string adim_; public ServisKullanici(string ad) { servis_ = Servisim.GetServis(); adim_ = ad; } public void BirSeyYap() { Console.WriteLine("Ben " + adim_ + Environment.NewLine + servis_.GetBirSey()); } }
class Program { static void Main(string[] args) { ServisKullanici s1 = new ServisKullanici("Ahmet"); ServisKullanici s2 = new ServisKullanici("Mehmet"); s1.BirSeyYap(); s2.BirSeyYap(); Console.ReadKey(); } }
-
unbalanced bunu yazdı
bi ara bu c# ile ios uygulaması geliştirme olayını artı ve eksilerini anlatayım..
güzel döküman çıkar bu konudan:)
-
cevaplar için teşekkürler arkadaşlar, bugünlük ara verdim bakacağım. sanırm ben hastalandım ya da zehirlendim, sabah kalktığımda yapışkan sıvı çıktı ağzımdan baya bi. hastahaneye de gidemiyorum şimdi, ilk girişte 1500 lira civarı para istiyor şerefsizler..
şimdi ben .net framework kullanmıyorum, o yüzden metodları o şekil asenkron yazabilir miyim bilmiyorum, adamların kendi kütüphanelerindekilerle kısıtlı yapabileceğim şeyler..
projeye güzel bir design pattern oluşturmak istiyorum, çünkü cross platform çalışacak, bir kısım kodlar ortak olacak ios ve android için. firmadakiler singleton pattern uygulamışlar servis create edilirken de benim kafamda başka bir şeyler vardı ama işte ne olduğunu unuttum..
uygun bir anımda c# ile mobil geliştirme (ios/android) ile ilgili bir şeyler yazıp paylaşacağım.
şimdi hazırlanıp gideyim, cevaplar için teşekkürler, yine fikir verebilirsiniz
-
Dependeny injection uyguladığınız zaman, singleton out of the box geliyor haberin olsun.
. Net kullanmıyorsan mono kullaniyorsundur. Mono async/await destekliyor ama diğer kullandığın kutuphanelerle ne kadar uyumlu calısır bilemem. Kurcalayabilin Google'ı.
nessaj tarafından 30/Eyl/14 11:58 tarihinde düzenlenmiştir -
@yeniharman
Hacı Get Servis metodu thread safe olmuyor o şekilde. Sadece bilgin olsun diye diyorum. .Net te bu iş için lazy classı var kendiliğinden lock'luyor.