18 Haziran 2014 Çarşamba

C# ile Interface Kullanımı

Bir örnek üzerinden c# dilinde interface nedir ne amaçla kullanılır anlamaya çalışacağız.Yapacagımız örneği daha iyi anlaşılması açısından olabildikce güncel bir alandan seçmeye çalıştım.Direkt örnegimize geçmeden önce genel olarak interface ‘ ler ile ilgili bilinmesi gereken leri verelim.Interface leri bir sınıfa yön veren öğretmen gibi düşünebilirsiniz , öğretmenin sınıftaki işi genel olarak nedir öğrencilerine doğru yolu göstermek ne yapacaklarını söylemektir işte interface’lerde c# dilindeki class’ların hocaları gibidir.Interface’ler içinde kod yazılmaz dediğimiz gibi sadece yön verir class’a ne yapacagını söyler.Bir class birden çok interface ‘i uygulayabilir ama class bir interface ‘yi kendisine uyguluyor ise kesinlikle tüm method larını ezmek zorundadır.Interface ‘ leri tanımlarken default olarak public atanır protected veya private olarak belirtemeyiz.Interface’lerin yapıcı method’u olmaz aynı şekilde alan (fields) ‘larıda tanımlayamayız.Bu kadar bilgiden sonra birazda kod yazalım.İlk olarak 2 tane interface tanımlayalım.




Interface adları kesinlikle olmasa bile genellikle I ile başlar .Net Framework içindede bir çok örnekleri vardır örnegin : IComparer , IEnumerable sizde bu kurala uyarsanız çok daha anlaşılır kod geliştirmiş olursunuz.Interface lerin tanımlanması interface kelimesi ile yapılmaktadır bu kelimeden sonra gelen kısım interface ‘mizin adıdır.Bizim örnekte kullanacağımız 2 tane interface miz var 1. IAracOzellikleri burada her araçta bulunması gereken alanlar yer almaktadır ayrıca Gosterge adında bir de method içermektedir 2. interface ‘ imizde ise sadece AracPuani methd’umuz vardır bu method’un amacıda araç puanı method unu bu interface ‘den türeyen class ‘lara uygulayabilmek.Burada dikkat edilecek en önemli noktalar dan bir taneside Marka ve Model property ‘lerinin sadece get özelliklerinin bulunması anlayacagınız üzere set değeri olmadığı için bu property’lere atama işlemi yapılamamaktadır sadece içlerindeki bulunan degerler okunabilmektedir.Eğer sadece get özelliği olan bir property’ye değer atamaya çalışırsak şöyle bir hata alırız




Aldığımız hata Mercedes sınıfındaki Marka property ‘ sinin sadece okunabilir olmasıyla ilgili herhangi bir değer atamaya çalışınca derleme anında bu şekilde uyarıyor bizi.Interface’lerimizi yazdıktan sonra 2 tane Mercedes ve Bmw adında sınıf oluşturalım ve kendi interface’lerimizi uygulayalım.




Buradaki Mercedes sınıfımızda sadece IAracOzellikleri interface’imizi uyguladık ve interface içindeki tüm property’lerin get ve set atamalarını yaptık Gosterge ve Bilgiler method’larınıda interface’imizde tanımladığımız için kullandık Bilgiler method ‘ umuzda sınıfımızın özelliklerinn ekrana yazdırıyoruz bu sefer console uygulaması olduğu için genel bir arayüz yapmıyoruz.Marka ve Model property ‘lerimize dikkat ederseniz sadece get kullandık bunun nedeni interfacemizde’de sadece get kullanmıştık.Buradan çıkaracağımız interface de nasıl kullanılmasını istiyorsanız belirliyorsunuz ve tanımladığınız class sizin tanımladığınız sınırlar doğrultusunda gitmek zorunda kalıyor tabiki üstüne ekleyerek class genişleyebilir.Şimdi Bmw sınıfımıza bakalım.




Bmw sınıfımızda kendi yazdığımız 2 interface ‘ ide uyguluyoruz 1 class birden çok interface’i uygulayabilir uygulama şekli 2 interface adı arasına virgul koymaktır.Bu sınıfımızdada marka ve model özelliklerimizi defaut olarak atıyoruz ve onların set özellikleri olmadığına dikkat ediniz.Bmw sınıfımız 2. bir interface ‘i uyguladı peki 1.sinden farkı ne oldu birden çok interface’i kendisine uygulamış class ‘lar uygulanan tüm interface’lerin özelliklerini veya method’larını kullanmak zorundadır.Bmw sınıfımızda AracPuanı’da hesaplanmaktadır buda IAracPuan interface’sinden gelmektedir.Şimdi class ‘larımızı hazırladığımıza göre onları çağıralım ve atanması gereken değerlerini atadıktan sonra sonuca bakalım.




Main ‘in içinde sınıflarımızı çağırıyoruz ve fiyat , hız gibi özelliklerini atadıktan sonra Bilgiler method’umuzu çağırıyoruz.




İlk çagırdığımız sınıf Mercedes olduğu için üstte Mercedes sınıfımızın özellikleri geldi alttaki Bmw sınıfımıza dikkat ederseniz Puan alanı fazladan mevcut bu alan IAracPuan interface’imizde gelmektedir.
İyi çalışmalar.

18 Şubat 2014 Salı

CRM (Customer Relationship Management) Nedir?


CRM NEDİR?

CRM kavramının temelinde müşteriyi anlamak, onun ihtiyaçları doğrultusunda ürün ve hizmetlerini özelleştirip mevcut müşterilerine daha iyi hizmet sunarken, yenilerini kazanmanız yatar. Özellikle son yirmi yılda değişen müşteri istekleri, servis beklentileri hakkında detaylı bilgi alıp, firmanız için en uygun CRM çözümünü bulmak size rekabette önemli bir avantaj sağlayacaktır. Müşteri odaklı çalışamayı ve hedeflerinizi yakalamak doğru çözümü, doğru şekilde uygulamaktan geçiyor.
Müşteri ilişkileri yönetimi ya da çok popüler kısaltması ile CRM, son birkaç yılda, her ölçekten şirketin stratejik ajandasında yer alan bir yatırım. Üzerine binlerce rapor yazılan, milyarlarca dolar yatırım yapılan ve hala gelişmeyi sürdüren bu alan acaba iş dünyası için neler vaat ediyor?
Öncelikle CRM pazarının son yıllarda nasıl bir gelişme sürecinde olduğuna bakıldığında karşımıza iş dünyasının yaşadığı büyük değişim çıkıyor. Dünyada, hemen hemen tüm pazarlarda rekabetin arttığı, ürünlerin pazara girme sürelerinin kısaldığı ve marjların düştüğü bir ortamda müşteriye daha etkin ulaşmak, müşterinin isteklerini anlayarak ürün ve hizmetleri bu yönde şekillendirmek büyük önem taşıyor. Tüm bu ihtiyaçlar çerçevesinde CRM pazarı hızla gelişmeyi sürdürüyor. Dünyaca ünlü araştırma şirketlerinin rakamları da bu büyümeyi net biçimde ortaya koyuyor. Aberdeen Reseach’e göre dünyada CRM yazılımları ve hizmetleri pazarı 2003 yılında 23 milyar dolarlık bir hacme ulaştı. Bu konuda biraz daha iddialı bir rakam ortaya koyan IDC ise 2005 yılı sonunda CRM yazılımları ve hizmetleri alanında elde edilecek gelirlerin tüm dünyada 162 milyar dolara çıkacağını öngörüyor.

Önce Müşteri…

CRM’in C’si yani müşteri (customer) kavramının son yıllarda yaşadığı değişim gerçekten inanılmaz boyutlara ulaştı. Tarihsel süreç açısından bakıldığında 1950’li yılların “Ne bulursam onu alırım” yaklaşımıyla geçtiğini görürüz. Arz ekonomisinin ön planda olduğu bu dönemlerde pazarda yer alan ürün ve hizmetlerin çeşitliliğindeki sınırlamalar, tüketici tercihlerinin geri plana atılmasına zemin hazırlıyordu. Ardından 1970’li yıllar geldi ve ürün ve hizmet çeşitliliği artmaya başladı. Bu noktada müşterilerin genel eğilimi “Neyi alabilirsem onu alayım” biçiminde değişti. 1990’larla birlikte artık “ne istersem onu alırım” dönemi başladı. bu yeni döneme gelinmesinde birkaç temel nokta büyük rol oynadı.
  • Ürün ve hizmetlerim çeşitliliği inanılmaz biçimde arttı ve müşterilerin tercih olasılıkları çoğaldı.
  • Bilgi ve iletişim teknolojilerini etkin kullanan müşteriler, bilgiye, rakibe ve muadil ürünlere çok kolay erişebilir bir hale geldi.
  • Teknolojik yapılar, ürün ve hizmetlerin pazarlanmasından dağıtım kanalına dek iş süreçlerini değiştirdi.
  • Müşterilere çok farklı kanallardan erişim mümkün oldu.
Aslında CRM, çok da yeni bir kavram değil. CRM kısaltması ABD medyasında 1989 yılında sadece birkaç defa geçmesine karşın 2000 yılında bu rakam 14 bine ulaşmıştı. Hangi dönemde olursa olsun, vizyon sahibi yöneticilerin tümü müşterileri anlamanın işlerini geliştirmek için ne kadar faydalı olduğunun bilincinde olmuştur. 50 sektör üzerinde yapılan bir araştırmaya göre 1923 yılında sektöründe lider olan şirketlerin 43’ü bugün hala o sektörlerin liderleri. Ve bu şirketlere bakıldığında hepsinin müşteriyi anlamaya ciddi yatırımlar yapan ve müşteri odaklı çalışan şirketler oldukları görülüyor.
CRM’in bugünkü boyutuna temel oluşturan güzel örneklerden bir tanesi de eski mahalle bakkalları… Müşterilerinin neredeyse tamamını ismen tanıyan, ürünlerden hangilerini ne şekilde tercih ettiğini bilen bu bakkallara gönderme yapan Meta Group analisti Liz Shahnam CRM’i şöyle tanımlıyor:
“CRM pek de yeni olmayan bir kavram. Yeni olansa geçmişte mahalle bakkalımızla yapabildiğimizi olası kılan teknoloji... O bakkalın az sayıda müşterisi ve herkesin tercihlerini aklında tutabilecek güçte hafızası vardı. Teknoloji, işte bu modelin gerçekleşmesini sağladı."

Örnekler bir yana, genel bir tanımını yapmak gerekirse; CRM, karşılıklı, uzun vadeli bir değer ilişkisi yaratmak için müşteriler ile gerçekleştirilen ilişkilerin etkin biçimde yönetilmesidir. CRM; satış, pazarlama ve hizmet süreçlerinin müşteri odaklı bir felsefe etrafında yeniden tanımlanmasını gerektirir.  




Kaynak: www.redbilisim.com