Takvim
<<  Şubat 2012  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

Bu ve bundan sonraki birkeç yazımda Microsoft Enterprise Library 3.1 Bloglarını teker teker ele almaya çalışacağım. Daha önceki yazılarımda nedir ne değildir konusuna zaten değinmiştik. Burada öncelikle bir uygulamaya Data Access Application Blog nasıl eklenir? ve genel CRUD (Create, Read, Update, Delete) işlemleri nasıl yapılır? sorularına cevap arıyor olacağız.

Microsoft Enterprise Library 3.1 sürümünü kullanabilmeniz için sisteminizde ;

  • Visual Studio 2005 Professional Edition veya Visual Studio 2005 Team System Edition veya Visual Studio 2005 Standard Edition
  • .NET Framework 2.0
  • Microsoft SQL Server, Microsoft SQL Server CE veya Oracle veritabanı
  • kurulu olması gerekmektedir. Tabiki bir de Microsoft Enterprise Library 3.1 sürümünün kurulu olması gerektiğini, sanırım hatırlatmama bile gerek yok.

     Var olan bir .NET 2.0 uygulamamıza Data Access Application Blog' u nasıl ekleyebiliriz?

    1. Öncelikle Başlat' tan Enterprise Library Configuration aracımızı çalıştırıyoruz

              

         2.  Daha sonra File menüsünden "Open Application" menüsünü seçip Data Access Application Blog' u eklemek istediğimiz uygulamamızın Web.config dosyasını buluyoruz ve açıyoruz.
         3.  Açmış olduğumuz uygulamamız üzerine sağ tıklayıp "New" menüsünden Data Access Application Blog' u seçiyoruz

              

          4. Data Access Application Blog' umuzu ekledikten sonra sıra geldi ayarlarını yapmaya.

             

             Gördüğünüz gibi "Connection String" bölümü altında bağlantı cümlemizi verebileceğimiz bir alan mevcut. Burada verdiğimiz bağlantı cümlesi uygulamamızın Web.config inde <connectionStrings></connectionStrings> tagları arasına eklenecektir.

             Burada ayrıca Application Settings altında uygulama genelinde kullanabileceğimiz "Name" - "Value" ilişkisinde yapılar da tanımlayabiliriz.

             Ayarlarımızı yaptıktan sonra projemizi kaydediyoruz ve uygulamamızın Web.config ine baktığımız zaman verdiğimiz ayarları ve bunun dışında da bir takım ayarlamaların otomatik olarak yapıldığını görebiliriz.

    Data Access Application Blog' u uygulamamızda kullanabilmek için gereken ayarlamaları yaptık. Data Access Application Blog' u kullanabilmemiz için son olarak ta uygulamamızın referanslarına Microsoft.Practices.EnterpriseLibrary.Data.dll ini ve Microsoft.Practices.EnterpriseLibrary.Common.dll ini eklememiz gerekiyor. Bu iki dll i Microsoft Enterprise Library 3.1 in sisteminizde kurulu olduğu klasör içerisinde bulabilirsini. Eğer farklı bir yere kurmadıysanız sisteminizde "C:\Program Files\Microsoft Enterprise Library 3.1 - May 2007\Bin" klasöründen ulaşabilirsiniz.

       Yazımın diğer bölümünde genel CRUD işlemlerine değineceğim.

    Kolay gelsin.

    Bu yazıyı ilk değerlendiren siz olun

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Daha önceki yazımda Enterprise Library' nin ne olduğunu ve kısaca amacıdan bahsetmiştim. Bu yazımda ise Enterprise Library 3.1 - May 2007 sürümünden bahsedeceğim.

    Enterprise Library 3.1 - May 2007 sürümünde bulunan uygulama blokları şu şekildedir:

    1. Caching Application Block : Yazılım geliştiricilerine, uygulamalarında caching özelliklerini yönetimini ve geliştirme olanağını sağlar.
    2. Cryptography Application Block : Yazılım geliştiricilerine, uygulamalarında şifreleme tekniklerinden "Hashing" ve "Symmetric" şifreleme tekniklerini kullanabilme olanağı sağlar.
    3. Data Access Application Block : Yazılım geliştiricilerine, uygulamalarında standart veri kaynaklarının kullanımı olanağını sağlar.
    4. Exception Handling Application Block : Yazılım geliştiricilerine, uygulamalarında oluşan hataların yönetimi olanağını sağlar.
    5. Logging Application Block : Yazılım geliştiricilerine, uygulamalarında loglama stratejilerini kullanabilme olanağı sağlar.
    6. Policy Injection Application Block : Yazılım geliştiricilerine, uygulamalarında kullandıkları logging, caching, exception handling ve validation gibi ortak özellikleri yürütmede kullanılan ilkeleri düzenleme olanağı sağlar.
    7. Security Application Block : Yazılım geliştiricilerine, uygulamalarında yetkilendirme, izin verme veya kullanıcı bilgilerini alma olanağı sağlar.
    8. Validation Application Block : Yazılım geliştiricilerine, uygulamalarındaki business objelerine doğrulama kriterleri oluşturabilme olanağını sağlar.

    Yeni Gelen Uygulama Blokları

    1. Validation Application Block
    2. Policy Injection Application Block

    Gelen bu iki blok dışında hali hazırdaki bloklarda (Data Access Application Block, Logging Application Block ) da bazı geliştirme ve düzenlemeler yapılmıştır.

    Hali hazırda Olan Bloklarda Yapılan Yenilikler

    1. Data Access Application Block
      1. SQL Server Compact Edition provider
      2. TransactionScope entegrasyonu
      3. Toplu update
    2.  Logging Application Block
      1. Dosya boyutuna göre veya tarihe göre otomatik dosya oluşturma 

    Uygulama geliştirmek için gereken sistem gereksinimleri
    Enterprise Library 3.1 - May 2007 sürümü ile uygulama geliştirebilmek için sistemimizin şu gereksinimlere ihtiyacı vardır;

    • Microsoft Windows XP Professional, Windows Server 2003, veya Windows Vista işletim sistemi
    • Microsoft .NET Framework 2.0 veya 3.0
    • Microsoft Visual Studio 2005
    • Sürüm dosyaları

    Enterprise Library 3.1 - May 2007 sürümünü indirmek için bu adresi kullanabilirsiniz. Sürüm içerisinde ;

    • Tüm kaynak kodunun derlenmiş halini
    • Kaynak kodu
    • İlgili dökümantasyonlar ve örneklere ulaşabilirsiniz.

     

    1 kişi tarafından 5.0 olarak değerlendirildi

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    muammerhallac , Tarih : 18. Eylül 2008, 13:26

    Yapılan birçok enterprise uygulamada caching (önbellekleme),  data access (veri erişimi), Cryptography (şifreleme), exeption handling (hata yönetimi), security (güvenlik) v.b gibi birçok rutin işlemler vardır. Bu işlemler sürekli yapıldığında hem can sıkar, hem de yazılım geliştiricilere inanılmaz zaman kaybettirir. Tam da bu noktada biz yazılımcıların yardımına Microsoft' un yayınladığı  Enterprise Library yetişiyor.

    Peki Enterprise Library nedir?

    Biz yazılımcılara kodlama esnasında yaptığımız rutin işlerde (caching (önbellekleme),  data access (veri erişimi), Cryptography (şifreleme), exeption handling (hata yönetimi), security (güvenlik) v.b) yardımcı olan bir çok yazılım komponentini barındıran bir çatıdır. Açık kaynak kod olarak Microsoft tarafından dağıtılır ve uygulamamızın ihtiyacına göre esnetilebilir.

    Aktif sürümleri

    Enterprise Library' nin amacı:

        Genel olarak 4 temel amacı vardır.

    1. Consistincy (tutarlılık) : Tasarım desenleri ve uygulamalara yaklaşım tarzındaki tutarlılık
    2. Extensibilty (Esneklik) : uygulamamızın ihtiyacına göre veya yazılım geliştiricinin ihtiyaçlarına göre ek görevler veya fonksiyonlar eklenebilirlik.
    3. Ease of Use (Kullanım kolaylığı) : Uygulamalara entegrasyon kolaylığı, kodlama esnasındaki kullanım kolaylığı, örnek uygulama çokluğu
    4. Integration (Entegrasyon) : Tüm blokların tek başına veya diğer bloklarla beraber en iyi şekilde çalışabilmeleri

    Kaynaklar:
    http://msdn.microsoft.com

    Bu yazıyı ilk değerlendiren siz olun

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    İnternet üzerindeki zengin text editörlerinden veya birtakım text kaynaklarından herhangi bir şekilde veri tabanına veri kaydediyorsak mutlaka bu tekniğe müracaat etmişizdir. Regex ler kısaca;  bir text bloğunun içerisindeki özel karakterler, kelimeler veya karakter desenleri gibi text parçalarını tanımlamamızı sağlar. Regex veya Regexp şeklinde kısaltılabilirler. Regex ler bir Regular Expression işlemcisi tarafından yorumlanırlar ve yorumlanan ifadeler, verilen desene uyup uymaması durumuna göre bir uygunluk grubu şeklinde (Match Groups) veya orjinal metnin bir parçası olarak geri döndürülür.

       System.Text.RegularExpressions.Regex şeklinde tanımlanırlar.

    Regex Karakterleri ve Kullanım şekilleri

    1. "." Karakteri

       21 //Yerine gelebilecek herhangi bir karakteri temsil eder. Aşağıdaki desen bize :

       22             //muty, mu5y, muzy gibi sonuçlar döndürebilir.

       23             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("mu.y", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

       24             MatchCollection match1 = regex.Matches(textBox1.Text);

       25 

       26             if (match1.Count > 0)

       27             {

       28                 foreach (Match var in match1)

       29                 {

       30                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       31                 }

       32             }

    2. "[]" Karakteri

        1 //Dizi tanımlayabilmemize veya aralık belirtebilmemizi sağlar. Aşağıdaki desen bize :

        2             //muay, muby, mucy, mudy ve muey sonuçlarını döndürken, aralık dışında olan muhy sonucunu döndürmeyecektir

        3             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("mu[a-e]y", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        4             MatchCollection match1 = regex.Matches(textBox1.Text);

        5 

        6             if (match1.Count > 0)

        7             {

        8                 foreach (Match var in match1)

        9                 {

       10                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       11                 }

       12             }

    3. "?" Karakteri

        1 //Kendisinden önce gelen karakterin karşılaştırma yapılan metinde olmasını veya olmamasını sağlar.

        2             //Aşağıdaki desenden mumy veya muy sonuçları dönebilir.

        3             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("mum?y", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        4             MatchCollection match1 = regex.Matches(textBox1.Text);

        5 

        6             if (match1.Count > 0)

        7             {

        8                 foreach (Match var in match1)

        9                 {

       10                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       11                 }

       12             }

    4. "\" Karakteri

        1 //Özel karakterleri string içerisine dahil edebilmemizi sağlar.

        2             //Örneğin desende System.Text.RegularExpressions.Regex("ok\?") yerine System.Text.RegularExpressions.Regex("ok?") verseydik sonuç olarak bize "o" veya "ok" dönerdi.

        3             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("ok\\?", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        4             MatchCollection match1 = regex.Matches(textBox1.Text);

        5 

        6             if (match1.Count > 0)

        7             {

        8                 foreach (Match var in match1)

        9                 {

       10                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       11                 }

       12             }

    5. "*" Karakteri

        1 //Kendisinden önce gelen karakterin veya karakter bloğunun hiç olmamasını veya birden fazla sayıda olmasını sağlar.

        2             //Örneğin System.Text.RegularExpressions.Regex("Muammer*") deseni; Muamme, Muammer, Muammerr gibi sonuçlar döndürür. System.Text.RegularExpressions.Regex("Muam(mer)*") deseni ise Muam, Muammer, Muammermer gibi sonuçlar döndürür.

        3             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("Muam(mer)*", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        4             MatchCollection match1 = regex.Matches(textBox1.Text);

        5 

        6             if (match1.Count > 0)

        7             {

        8                 foreach (Match var in match1)

        9                 {

       10                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       11                 }

       12             }

    6. "{}" Karakteri

        1 //Kendisinden önce gelen karakterin belirtilen sayı kadar tekrar ederek gelmesini sağlar.

        2             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("Muam{2}er*", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        3             MatchCollection match1 = regex.Matches(textBox1.Text);

        4 

        5             if (match1.Count > 0)

        6             {

        7                 foreach (Match var in match1)

        8                 {

        9                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       10                 }

       11             }

    7. " ^ " Karakteri

        1 //Verilen değerin satır başını işaret eder. Aşağıdaki desen, eğer verilen cümle veya text bloğunun en başında Muammer kelimesi varsa olumlu sonuç döndürür.

        2             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("^Muammer", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        3             MatchCollection match1 = regex.Matches(textBox1.Text);

        4 

        5             if (match1.Count > 0)

        6             {

        7                 foreach (Match var in match1)

        8                 {

        9                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       10                 }

       11             }

    8. "$" Karakteri

        1 //Verilen değerin satır sonunu işaret eder. Aşağıdaki desen, eğer verilen cümle veya text bloğunun en sonunda Muammer kelimesi varsa olumlu sonuç döndürür.

        2             System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("Muammer$", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);

        3             MatchCollection match1 = regex.Matches(textBox1.Text);

        4 

        5             if (match1.Count > 0)

        6             {

        7                 foreach (Match var in match1)

        8                 {

        9                     textBox1.Text = textBox1.Text.Replace(var.Value, "yeni değer");

       10                 }

       11             }

    Bunların dışında birtakım özel karakterlerde mevcuttur.

    Özel Karakterler ve Anlamları

    \w

    Herhangi bir alfanumerik karakteri temsil eder

    \s

    Herhangi bir boşluk karakterini temsil eder

    \d

    Herhangi bir rakamı temsil eder (0-9)

    \b

    Bir kelimenin başlangıç veya bitişini temsil eder

    \W

    Alfanumerik OLMAYAN herhangi bir karakteri temsil eder

    \S

    boşluk OLMAYAN Herhangi bir  karakteri temsil eder

    \D

    Rakam OLMAYAN herhangi bir karakteri temsil eder (0-9)

    \B

    Bir kelimenin başlangıç veya bitişini temsil ETMEZ

     

    İnternet üzerinde hazır olarak sunulan yüzlerce Regex e http://regexlib.com/ adresinden ulaşabilirsiniz. (H)

    Bu yazıyı ilk değerlendiren siz olun

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5