23 Haziran 2014 Pazartesi

Fantom Projesi: Expression tanımları ve uygulamaya geçiş

Fantom projesinin expression tabanlı kullanımını ve geliştirme dökümanını size sunuyorum.

Artık son aşama, "expressionBuilder" tipindeki sınıfımızdan bahsedeyim. Öncelikle fantom.codeplex.com adresinde bulunan projemizin "Source Code" sekmesine geçin. Burada "FantomExpression" klasörü altında ki "Expression.vb" dosyasını açın.

Bu sınıf "ExpressionBuilder" den türetilmiştir ve içerisinde iki yeniden bindirilmiş (override) fonksiyon bulunmaktadır ki bu iki fonksiyonun içeriği kalıptır. Ancak isteğinize göre düzenleyebilirsiniz, daha detaylı bilgi için "ExpressionBuilder" sınıfını MSDE içerisinde artınız. Bizi ilgilendiren nokta shared (c# -> static) fonksiyonumuz. Burada aslında yaptığımız bir önceki dökümanda ki veritabanı aracımıza expressiondan gelen parametreleri geçirmek ve dönen değeri geri göndermektir.

Öncelikle bu expressionun tanıtımı için test uygulamamız üzerinden "web.config" dosyasını açın. compilation tagları arasında aşağıdaki tagları göreceksiniz.

<expressionBuilders> <add expressionPrefix="Fantom" type="Fantom.Expression"/> </expressionBuilders>

Yukarıda ki tanımlama sayesinde artık Fantom adında bir expressionmuz var. Şimdi test projemizde ki "default.aspx" dosyasına girip aşağıdaki satırı kontrol edelim.

<asp:Label runat="server" ID="mylbl" Text='<%$ Fantom:MAIN:HELLO %>'></asp:Label>

Gördüğünüz gibi sanki resource dosyasından veri okurmuş gibi fantom üzerinden veri okuyoruz. Burada ilk değer expressionumuzun adı, ikinci değer grup adı ve üçüncü değer ise anahtar değer. Dil tanımı zaten oturumdan gelmekte. Fonksiyonumuza dönecek olursak aslında "Fantom:" tanımından sonrası direk expressiona tek metin olarak düşmekte ve biz split yaparak bunu veritabanından sorgulanması için gönderiyoruz.

Test projesini indirerek konu hakkında testler yapabilirsiniz. Ayrıca test uygulaması içerisinde bulunan Dictionary.sql dosyasında örnek bir tablo oluşturma kodu da var isterseniz kendi tablonuzu oluşturabilir isterseniz çeşitli tablolardan veri alan bir viewi de kullanabilirsiniz.

Proje hakkında geliştirme ve düzenleme çalışması yapacak arkadaşlar bana ulaşarak codeplex.com üzerinden projeye geliştirici olabilirler.

Esenlikle kalın...

0 yorum: