https://www.buraksenyurt.com/Burak Selim Şenyurt - .Net Framework 4.52016-08-08T07:25:35+00:00Matematik Mühendisi Bir Bilgisayar Programcısının NotlarıBurak Selim SenyurtBlogEngine.Net Syndication Generatorhttps://www.buraksenyurt.com/opml.axdBurak Selim SenyurtMatematik Mühendisi Bir Bilgisayar Programcısının Notlarıtr-TRBurak Selim Şenyurt0.0000000.000000https://www.buraksenyurt.com/post/managed-extensibility-framework-hello-worldManaged Extensibility Framework - Hello World2015-01-13T15:00:00+00:00bsenyurt<p><img style="width: 350px; float: right;" src="data:image/jpeg;base64,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" alt="" />Merhaba Arkadaşlar,</p>
<p>Günümüzde uygulamaların genişletilebilir olması önemli bir konu. Modüler olarak da nitelendirebileceğimiz bu felsefe ile bir uygulamanın kullanıcıları tarafından kolayca genişletilebilmesi amaçlanır. Hatta akıllı uygulamaların kendilerini bu şekilde genişletmesi de mümkündür. </p>
<p>Modülerliği kazandırmak için kullanabileceğimiz farklı yöntemler vardır. Bunlardan belki de en basiti <span style="font-weight: bold;">Interface </span>tiplerini ve <span style="font-weight: bold;">Reflection</span>' ı kullanarak uygulamanın standart fonksiyonelliklerini genişletilebilir şekilde dışarıya açmaktır. Basittir ancak geliştiricinin iyi tasarlamasını gerekitir ve kod maliyeti yükselebilir.</p>
<p>Pek tabii <span style="font-weight: bold;">Plug-In</span> tabanlı bir yaklaşım için <span style="font-weight: bold;">IoC<span style="font-style: italic;">(Inversion of Control)</span> Container</span>' larından da yararlanılabilir. <span style="font-weight: bold;">Ninject</span>, <span style="font-weight: bold;">Windsor Castle</span>, <span style="font-weight: bold;">Unity </span>gibi pek çok <span style="font-weight: bold;">IoC Container </span>bu noktada devreye girer. Ne var ki .Net cephesinde modülerlik adına Framework 4.0 sürümünden beri gündemde yer alan <span style="font-weight: bold;">MEF </span>alt yapısı ile de bu iş gerçekleştirilebilir.<span style="font-style: italic;">(ki benim <span style="font-weight: bold;">Hello World</span> demem epey zamanımı almıştır)</span></p>
<h1>Örnekler</h1>
<p><span style="line-height: 1.42857143;">Konuyu iyi analiz edebilmek adına gerçek hayat örneklerine bakmamızda da yarar var. Modüler uygulamalara günümüzde pek çok örnek verebiliriz aslında. <span style="font-weight: bold;">Plug-In </span>veya <span style="font-weight: bold;">Extension </span>desteği olan ürünlerin tamamında modüler bir tasarım olduğundan bahsedebiliriz. <span style="font-weight: bold;">Photoshop</span>' a kullanıcı bazlı efektlerin yüklenmesinden <span style="font-weight: bold;">Warcraft</span>' a yeni oyuncların ilave edilmesine, <span style="font-weight: bold;">Winamp</span>' da yeni bir <span style="font-weight: bold;">Skin'</span> in yüklenmesinden <span style="font-weight: bold;">Visual Studio</span>' da yazılım takımının geliştirdiği bir <span style="font-weight: bold;">TFS Policy</span>' sinin entegre edilmesine kadar pek çok örnek verebiliriz.</span></p>
<div>
<h1>MEF Nedir?</h1>
<div>
<div>
<div>Uygulamalarımızın modüler olması için .Net tarafında kullanabileceğimiz alt kütüphane topluluklarından birisidir. .Net' in bir parçası olduğu için .Net ile birlikte her yerde kullanılabilir.</div>
<div> </div>
<blockquote><span style="line-height: 1.42857143;">İşin gerçeği kurumsal uygulamalarda IoC Container' ların kullanıldığı ama n sayıda nesnenin Bind edilme ihtiyacının bulunduğu senaryolarda MEF kullanımı düşünülebilir.</span></blockquote>
<h1>MEF'in Avantajı</h1>
<p>Aslında .Net ile geliştirilmiş ürünlerde MEF kullanımının avantajını dile getirmeden önce Late Binding ve Early Binding kavramlarının bir uygulama yaşam döngüsü açısından ne anlama geldiğine bakmamızda yar var. Aşağıdaki amatör çizim bu konuda biraz fikir verebilir.</p>
<div><img style="width: 400px;" src="data:image/jpeg;base64,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" alt="" /></div>
<div> </div>
<div>
<div>Şimdi duruma bir bakalım. Modüler olarak düşünülen bir <span style="font-weight: bold;">API </span>tasarımı <span style="font-weight: bold;">Windows </span>tarafında başlatıldığında derleyici başlangıçta gerekli olan ne kadar kod varsa yükleyecektir. En azından bu şekilde düşünebiliriz. Bu durumda gerekli kod parçalarına <span style="font-weight: bold;">Compiler</span>' ın erken bağlandığından bahsedebiliriz. </div>
<div> </div>
<div>Diğer yandan kullanıcı veya uygulamanın kendi seçimlerine göre çalışma zamanında yüklenmesi istenen modüller varsa bunlar <span style="font-weight: bold;">geç bağlama<span style="font-style: italic;">(Late Binding)</span></span> tekniği ile ortama dahil edilebilirler. Bu tip bir sürecin sağladığı pek çok avantaj vardır. Söz gelimi uygulama başlangıçta minimum gereksinim ile belleğe açılır ve yaşamı boyunca kullanıcı seçimine bağlı olarak ek modüllerin yüklenmesi için tekrardan başlatılmasına gerek kalmaz. <span style="line-height: 1.42857143;">İşte <span style="font-weight: bold;">MEF </span>için bu sürecin <span style="font-weight: bold;">.Net API </span>versiyonu olduğunu ifade edebiliriz.<span style="font-style: italic;">(Yani <span style="font-weight: bold;">Late Binding</span> desteği olan bir yapı) </span></span></div>
<div><span style="line-height: 1.42857143;"> </span></div>
<blockquote><span style="line-height: 1.42857143;">Temelde <span style="font-weight: bold;">IoC </span>container' lar ile <span style="font-weight: bold;">MEF </span>arasında benzerlik olduğu düşünülebilir. Ancak temel bir fark vardır. Neredeyse tüm <span style="font-weight: bold;">IoC Container</span>' lar <span style="font-weight: bold;">Early Binding </span>tekniğine benzer bir şekilde yüklenirler ve genellikle <span style="font-weight: bold;">X</span> nesnesinin sadece bir örneğinin bağlanmasına izin verirler. <span style="font-weight: bold;">MEF </span>ise birden fazla nesnenin bağlanmasına olanak sunar.</span></blockquote>
<h1>Örnek Uygulama</h1>
<div>Gelin basit bir örnek ile <span style="font-weight: bold;">MEF </span>kullanımına merhaba diyelim/diyeyim. Senaryomuza göre şirketteki farklı kaynaklardan, kurum müşterilerine ait bir takım verileri toplayan modüllerimiz olduğunu farz edebiliriz. <span style="font-weight: bold;">.Net</span> ile geliştirilen bu modüllerin her biri farklı ortamlardan farklı şekillerde veri toplayacaktır. Toplanan verileri bir ortamda da sakladıklarını düşünebiliriz. Aslında veriyi toplama ve saklama şekilleri şu an önemli senaryo gereği çok önemli değil. Kavramamız gereken, ana uygulamanın bu modülerliğe nasıl kavuşabileceği. Yani kodu tekrar derlemeden bakması gereken yerlerdeki dll' lere ulaşarak, aynı fonksiyonelliklerin farklı işleniş şekillerini çalışma zamanı bünyesine nasıl entegre edebileceğini görmek.</div>
<h1>Solution</h1>
<div>İlk olarak aşağıdaki <span style="font-weight: bold;">Solution </span>yapısını oluşturarak işe başlayalım. <span style="font-style: italic;">(Unutmayın bu sadece bir <span style="font-weight: bold;">Hello World </span>uygulması, fazlası değil)</span></div>
</div>
<div> </div>
<div><img style="width: 294px;" src="data:image/png;base64,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" alt="" /></div>
<div> </div>
<div>Solution içerisinde modüler olmasını istediğimiz bir <span style="font-weight: bold;">Console Application<span style="font-style: italic;">(Miner)</span></span>, bu uygulamaya eklemek istediğimiz <span style="font-weight: bold;">modüller</span><span style="font-style: italic;"><span style="font-weight: bold;">(Modules klasörü içindeki Class Library projeleri)</span> </span>ve modüllerin <span style="font-weight: bold;">MEF</span>'e <span style="font-weight: bold;">expose </span>edilmesinde kullanılan <span style="font-weight: bold;">sözleşme kütüphanesi<span style="font-style: italic;">(Contracts isimli Class Library)</span></span> yer almakta. Önemli olan nokta <span style="font-weight: bold;">Modules </span>altında geliştirilen sınıf kütüphanelerinin ana uygulamaya hiç bir şekilde referans edilmeden kullanılabilecek olması. Bu modüller <span style="font-weight: bold;">Late Binding </span>tekniğine göre <span style="font-weight: bold;">MEF </span>üzerinden <span style="font-weight: bold;">Miner </span>isimli uygulamada kullanılır hale gelecekler. </div>
<div> </div>
<blockquote><span style="font-weight: bold;">Contracts </span>kütüphanesi dışındaki tüm projelerin <span style="font-weight: bold;">System.ComponentModel.Compositions.dll assembly</span>' ını referans etmesi gerektiğini ifade edelim. Bu sayede MEF alt yapısını kullanabileceğiz.</blockquote>
<h1 style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #333333;">Kodlar</h1>
<p>İlk olarak Contracts isimli Class Library içerisine IContractModule interface tipini ekleyerek yola çıkalım.</p>
<div><img style="width: 217px;" src="data:image/png;base64,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" alt="" /></div>
<div>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">namespace Contracts
{
public interface IContractModule
{
string Name { get; }
string Description { get;}
string Author { get;}
void Initialize();
void FindData();
void LoadData();
void SaveData();
}
}</pre>
<div><span style="font-weight: bold;">IContractModule </span>arayüzünü tasarlamaktaki amacımız aslında genişletilebilir modüller için ortak bir sözleşme sunmaktır. Sözleşme modüller için ortak bir kurallar bütünü sunacaktır. Bu sözleşmeyi uygulayan modüller, ana uygulama tarafından kullanılabilir hale gelecektir. Bunun içinse <span style="font-weight: bold;">MEF </span>tarafında çalışma zamanına bağlanmaları gerekmektedir. İyi ama nasıl? </div>
<h1><span style="color: inherit; font-family: inherit; line-height: 1.42857143;">Modül İçerikleri</span></h1>
<div><span style="color: inherit; font-family: inherit; line-height: 1.42857143;">Şimdi tüm konsantrasyonumuzu modüllerimize vereceğiz. Her bir modül bilinçli olarak ayrı birer </span><span style="color: inherit; font-family: inherit; line-height: 1.42857143; font-weight: bold;">Class Library</span><span style="color: inherit; font-family: inherit; line-height: 1.42857143;"> olarak tasarlanmıştır. Gerçek hayat senaryosunda her bir kütüphanenin farklı ekiplerce farklı </span><span style="color: inherit; font-family: inherit; line-height: 1.42857143; font-weight: bold;">Solution</span><span style="color: inherit; font-family: inherit; line-height: 1.42857143;">' lar içerisinde yazılması da söz konusu olabilir. Kritik olan nokta, modüler olması istenen uygulamanın, ilgili modül kütüphanelerini bir şekilde tarayabilmesidir. Modüllere ait kodları aşağıdaki gibi geliştirerek yolumuza devam edelim.</span></div>
<h3><span style="color: inherit; font-family: inherit; line-height: 1.42857143;">CRM Modüle</span></h3>
<div><img style="width: 219px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsAAAD/CAIAAAD33DQ3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAHzlJREFUeF7tnetvXcW1wP0/3Y+tCLohUr4gtf3YVkJAEkqlmGvhShGKri7lEi6FqmkebVKZRqQpSUOhXGFT2gAxIUkJSUHXJi8cJ37l5diOH/HbKXfNrDUza2bP3ud99ra9flpyZq+ZWXufM7/sffbJxrR8KwhFQowUioUYKRQLMVIoFmKkUCzESKFYiJFCsRAjhWLRcCOXl5b6+q58+Nf/vXypd25ulrKCkEIDjQQXO99/52ftz+7f+xoYefDA7hd2tB794yHxUsigUUZOT02+/osXPzrxAW0bzp07A/nx8THaXqsMdGze3DFAGz4ZXULjjDz85u++/Oc52vAZuNG/+1e7aCMAVqtFY9bMJlyqHKpedT5R75uVCbezyDiAqo9tfdAQI3t6vvx9x37aiPHeu8e6u0/QRgBbMKWAXbyBjvby17HqVecTVXvz5pb2k7h5sr1FbZdXNuMAqj629UFDjIQPi3B1po0YcK8DHy5pI8AtmFIgsnQwgM6axhU1pb0dsyrnRqhN16v6oChhZruULQLQxI6TdDjehsLtxBby9kzHrufpKaZlM3awrSk0yEj4pDgyMkQbMeDmBu5yaCOAL1hkqZymakFRBtXCJPTqFJ/rejm2jiuoCCaqtq4JbeOo7o0dRtDEfjfFtOhP+IPGmoMWFKvNSJ6MjDSt6DAE1p/QWV/I6EQ9Q7dsb7R+iaRp4Z/wE49CY+cJq+2q7XpZ2yVNKzoM23Q+MtkyjFQNf1LqsKykaeGffLDAWHV3Ns4g1RuIYlusSLwNDarjK5k2EXGZ2GHwUrZpu1VDp6gIjDDzBjo6sCE0yEigXt/+qHUjaPncGJ6h8bZlBsEQ16ugguomJrEPlUidqOAZM9AdBuBKubvycI+2iKvAS6x3GmXkev+GXKiWRhkJyL8iClXQQCMRfNKi7bkt8qSFUA4NNxIBI6klCJmIkUKxECOFYiFGCsVCjBSKhRgpFAsxUigWFRi5vLT05T/PHX7zd/v3vvbSiztAsvLjPxIZibUa4AYY8vuO/efOnaniG+hyjbx8qRf2BDp+9dWXV/uuj9weH52Y53EP4r6NBRtjPCbjMQ4xFY+JqUWKaS/uR2NmcTI9pmaWKB6EMZ2MWS9meMwt23iQjHmK2ZSYg1iwsWJjPojFSCwkY4licelhNJYgliOxzGPFi5WVf7l46MXDZPzLC2BmZnp4ZOjq1UtH/3gInMl+CixJaSNBcyh98MDu0Xv3r41MX+yfpLg+eYnFZYgbFFduTFEMTF3lMTj1jY2haRt9EMMurkGMUPSPzFDcnLnO4gbELYqBWw8obj8YZDEEccfF8J1ZiruzI37cHLUxh3Hrnhe3x1zcGZ+3cXfCC/WX8z6F+2uZ/teP/30L/naxv0tLNiJ/kdzfmWUK/2/ILIT7y7BC4dsfWO4JHXjsxP0XRkRZZ+e3CwuLKM/01CT5VIoSRoKOr//ixXNffA6r9XX/fQgxUows30gIoO+by7t/tavMx2tKGAmCf3H+cxAIdRQjxchKjVTx7beDg9dTn9H2yTISPjvC+XbozuzX10hHMVKMrM5IoPP9d47/6YhuZpFqJNxZw8fS26P3e0FHMVKMTDdyaXllbm5ucWkp20i4Y4JPgJ//4+zw8LBOxEk1Em6R4JINDomRYmSGkcvLK9PT09euXRsbGwMpM4wEPjrxwR8Od1y5cqW/v59SCVKN/H3H/p7eXtAx3cjelx6hh/I12988vee71EY2/vcZLeKZvZj/7qtfo47dr27UidYjYOTZfdT72kU08tPXHtOJ1iNg5PFW1fzJB2JkAY1cXFqen5/v6up65plnDh06NDExsQRSphs5ODTyyss7wUjg9u3blPVJNfKVXTuHRkbTjez9udbxqbfYORKNfGTPx3B2PI0Wth5mRirJwEi+yYxUm2Dk5/uM59pIOUcW1ciFxSXQ8S9/+cuPfvSjtra2J598sqOjAy7fVsqkkeOTc+3P/wSNBCjrk2rkCztab41Opxr5x+3Kma2d3lWbG3mj8yltlTNyw0b4CafJI9uo7Rm54THV+9rFI8+otpaSnSM37Dv1tm5YHt13Wut4+pd4QlVs+OUl5eI7z6mNR5975lH4uf+sGNkQIx+ijo8//vivf/3r8fHx48ePf//73//Nb36jPlMuLkaNvDs+3/bcFvIx5dqdaiTMhPlpRh7aqhbdniAjRuI5clunu2pv2HuYLtYtT/+p82n1Jzdy3xG6WLdsOd61Rf0ZM/LRfZ/dnHnrJ6q59c8zN/6skiAinCCPPQvNx149b4xExMgGGLm0tAyfHTs7O+HsCDpevHhx586dH3/88ZEjR773ve+98cYbcPleXl4uaSRAHYwGGGnZ2kl3NsbITwa1iBv2dmPDN7J7WIu4Yd+n2CjDyKPKQo9t79hz5P6zctVujJFwFoRbmeeff/63v/3tuXPnfvrTn/74xz/etm3bRx999Pbbbz/77LOnTp2CMU018sQr+myXdtWmD5EtTx0LjLT32lEj7b12ZUZu+7P/OVKMbLCRi4tLcGd9/vz5v/3tb08//fQLL7wA7d27dz/xxBPvv/8+tIeGhuC+u6lGXuzvfFIt+8aXPosZCVfto1og73Nk/Y3EqzbId0aMbKKReJr84osvtmzZsmPHDrhrhs179+69/vrrP/jBD+DWGzaXV1aabGT6tz90ZzN1WF/ZwdqXjzXMSLi5QSkJ9jlSjGyYkXjVhqsz6AgfGecXFtT35EvLkH/11Vd/+MMf5nDV1kbS2dGdI+Ub8vVh5MLCwsjIyLFjx65fv74AE8w/IYKUk5OTkO/p6YExYqQY2SQjlZSLS3AW5DpiwEdMyOuz5kMxUoxsnpF6c2U59qQFfIIEHcv5PhKgDoYYKUZWYyT+K2LUSPwHGzFSjBQjxUgxstBGvrW9ZWunGClG5mfkZ3u+o78DBL7zSq8YKUbmauQp0NH+g03vS1v3fCxGipE5GnloqzovRq7aR/VTasAje9W/3OC/Hyo2vnzG/HMibp4VI8XIuhr5JHvwxxlpzpEf/89G2Dy8reVpfNhCh9r8k5wjxUgHdTDqfY6kB3U1WzvdOXLD3k9ASrbZLUaKkU34HPnm1panjrpzpP0cSSdL8yHyiDpZipFiZB2NhAAFDe5e23yO/O4jdNUm9DmSb8o5UowEqINRg5Hskq2u2hD6Q6Tca4uRYqQYKUaKkWKkGClGipFipBgpRoqRYmQUMVKMFCPFSDFSjBQjxUgxUoy0UAdDjBQjxUgxUow0UAdDjBQjxUgxUow0UAdDjBQjxUgxUow0UAdDjBQjxUgxUow0UAdDjBQjV4+RYxMz14fGKIYpbqTEAMSIjXEbgzxuxmMI4lY8hm9NUNz2YiQadyZupsetO/cp7oZxOxmjXtzhcW/Sxt1kjFGMpsQ9iHEbUzbGgpiIxHgy7lNM3J+Oxn2IyUhM8pjyYmpqxsW0F9PJmPHC5wHFAwKMqsnI2bn56RkJiboFUJORcD6fhMuHhESdAr0iGTUoG0eMlGheoFckowZl44iREs0L9Ipk1KBsHDFSonmBXpGMGpSNU4GR753q3XGgKxmQ58MkJNICvSIZNSgbpwIjQT7q84E8H+bi4gH6H3Mq2jqD3noF7OWxA73Y7mprsW2J4gXYUmcjV1aWHz6kgPbKytL83EyWkcaP3n2bWlpPeL31Cm6kRLEDvSIZNSgbpzIj5+dndTyAmJt7MDV57+bgN+UYSW31s227+p8W61MmbOIJ1J5B3QBg056LrBTmsKAbtmmj/d9rg/Eqz/aIecr07eEjcYxEcwO9Ihk1KBunMiNnZ6doUQ03+noqOEcqS6xnJ7abtjuD8gHuEgwykbKdrS3bu/xhbC+snZgC1UjEvj2tZrxEcwO9Ihk1KBunMiOnpycmJ8fGx2+P3bs1end4eOBq36ULWUaSt+a0FLeHtXlSKRucShUb9/WVVYeGK2gKtFxxiRwCvSIZNSgbpzIjRwavXrvy1ZXec5d7/nHp/872XOj+6vMT5ZwjI5lo25vCjKypDgvIi5f5BXpFMmpQNk5lRvZcOHn2k3dPfXjs0w+PQnT/9a3P/n68SiPTrtpmALsZgpH6yqsH7MGrtq0TbyemdLXZTXYMEk0N9Ipk1KBsnAqMrPj7yOTaBxnY1FdV786GMv6ZjOXpc6TrNbcsoC/PJ6fQljFVoumBXpGMGpSNU4GRzQhPNYm1FugVyahB2ThipETzAr0iGTUoG6dgRkqs6UCvSEYNysYRIyWaF+gVyahB2ThipETzAr0iGTUoG0eMlGheoFckowZl42QZufKQ/nszCYm6BHpFMmpQNk6WkdSqH1MxqE9YHxTISJCvu7v7iSee+HfNwYMH0UiARgjrgKIYCdqBjugisGvXLnQRoUH1YqBj8+aOAdqoipPt6t92aiwSAw5NVW4/SdvrjwIZac+OXEc8U9KgdPRCZgrCLazVyBrmlzUVfK93/RpKNplCGInyoY6ANRIasAkNGpeKWof29sy15ktVg1EaWN5qT2Jl7RoGVbuDWl9a/hTRSABcRB2B0kbiMvDFcG3bpy6GClhqlQOBzSbihpiUGxbokWYkXss1/Ehcxj8MnBCrFN1BbHBQ0N/kx6/a+pBckleLHXlOFNRIC1zKSxpp3m37rvNmpFO16Y23Sw8NN4FybpiPG8tx89i+oEU52pPrUigRqN+D1XJEBlNRYKCjXZfl9VUVs2HzLmkns73x6TmRv5Go47Zt28hBH7jdKWWkexezWvy9LrOXJw1pDqVWoDOPQuViNeOk7omB9XnB6GHwtkuaVtqUnMjZyKSOjz/+ODbg7FiGjvpNxAVHKnvfM3t5kgOuJPNlVkir6QOjStroUKOTLzyl7ZKmlTYlJ/I0MqkjfHbEpIWGpuO/h+xdxiVVjYz33bacZXaqN8XDXu84zFM3kZ3oBjo6oOHXVPuK7SJtB2H2ZLstTmV5/WjbJW0reuS5kb+RJGOV30GGbyF/m/Up096CQ4/OwBq6SWy66XfLzjp9osLYXWrsRFcW55htvcFc4KgxyR2o8kE2LM5SsA1NfhjYdknWHT3ynCiKkVZH6is0fKljpBibIG1ciqhNoNwjbyD5G8mhjuKDJxVfG8xpyltVEDsxEHLlF6gXFR95I8nTSIBM1FBKWN/kbKQgBIiRQrEolpF0/fahPmF9UCAjQT55PlIoipGgXfOejywUsdv2upDLbXvtFMjIKp+PpDceqd/CgigZxfg3ktkjS8ALVUhZU2s4uLT6Nb3e0hTCSJQPdQSskdCATWjQuCj8jYN2c04KNYjkA8tb7fGWdQzqHalyB3V7jZVRRCMBcBF1BCowEuCbajn4qdNuM21BCQTGqLmZDxRSIb+OHen1mB3w6RE10oy0h8XO+7a4yvjHgBNilaI7iA0OCvqb7lU0/FHLghppKf18pH2DCLsE0EHvE6Xc4pinCVWKTYYZdpO/7zZph/OdurarpibZo6Ck273D37/BzWbFoUU5KuS6FJBMlgdYLUdksDu6nB+1zN9I1LH65yPDV27eHfXmONQQzPDBMJZv8lK27dVnxbNHRpK8WwG1zOr5pNXBV6JRubBeOql7YmB9XjB6GLztkqaVNqUScjYyqWM1z0fyV243094RyNu3PlcjFcEBICXqGGL1ksCokjY61Gjz5vD60bZLmlbalErI08ikjvDZEZMWGppB8C64swE7M+CzicmnCQMjom8oS6ryWCI6klWLjeRzLEZxD3ZUXnH/5fj11B6T5dN3EGYL86hl/kaSjFV/BwmvXF3HEP89YF3q7Q42EbU4GpjK30Tb5vVdeZOFQsEsnXZ7cL18nCUqDDsqIFIc55htvcFc4KgxyR2o8kE2LM5SsA1NfhjYdknWHT3ySiiKkVZH6isOfDHqT6nqKcYmSBuXImoTKPfIQ/I3kkMdhaKxRpqTir8LzGnKW1U4yMRAyJVfoF5UfOQJ8jQSIBM1lBLWNzkbKQgBYqRQLIplJF2/fahPWB8UyEiQT56PFIpiJGhX6OcjY3fEdSGXO+IiUyAja3o+0q5oQ76sqaFoWVPB93rXr6FkvhTCSJQPdQSskdCATWjQuChqSTZHnkypJ7C81Z7EyjoeGFTtDhryevOkiEYC4CLqCJRhZMdJu6Rshdy3ta7LPc9HvXY5lRV+xpFmpNtDSh27QcegJsQqRXcQGxwU9Ddhq1lPMTaOghppKfv5SLU2tEbhWwzvvk6pIdhn19qOhgYtV0QOU8DH7BGbNCBRx3Up7I4DWC1HZLA7uLXzCyMD8jcSdazD85HwhkODv8VqSRGdcl22ZRrwJ41U2AJARAuE74jXoxoKlePDskndEwPr84LRw+BtlzSttCnFIGcjkzrW8HwktFraO8ym3jKnhGAlbCvZFQNdpw0Dn5Ko58iubIBRJW10qNHGS14/2nZJ00qbUgzyNDKpI3x2xKSFhmbA31M8KeKmzUMDU24k78MGO0Hh04ce0Jv0hXnqKifquC4FbEXkTt9BmF2LvzAyIH8jScaqv4P031O1imZTtZWg8LlepyJrwyZDUw8HEnJEhbE70JgyiTpmW28wFzhqTHIHqnyQjRwkqw9NfhjhS2Td0SMvBkUx0upIfcWCL3WMFGMTpI1LEbUJlHvkzSN/IznUUUDwpOJrgzlNeasKYicGQq78AvWi4iNvInkaCZCJGkoJ65ucjRSEADFSKBY1GTm/sBL8P+QlJGoJ9Ipk1KBsHDFSonmBXpGMGpSNI0ZKNC/QK5JRg7JxxEiJ5gV6RTJqUDZOIY28eGDjYwd6g2R2VDFFoumBXpGMGpSNU4GR753q3XGgKxmQ58NcgCUtLRv39ZlM357HWlrSvOFKiZFrNNArklGDsnEqMBLkoz4fyPNhLpQlmza2tHXiZldbC2yKkes4wJY6G7mysvzwIQW0V1aW5udmMo080Llvkz5Nwgly054uXzv8hy6V0adPpPWEnti2HTOwGYy3intJe/b1S9mREgUI9Ipk1KBsnMqMnJ+f1fEAYm7uwdTkvZuD32Qb2Tt9Yjs4BG1SzXpDYnW2tmzvsoPNxJZNey5CW89VSWhgZrF33yajmpJPzcUpOB3OxLa31RSUKEagVySjBmXjVGbk7OwUnX4MN/p6ShmpnGtBn6w3yjmHOonaLjaRzqx8Iu9NS0JFm5coUqBXJKMGZeNUZuT09MTk5Nj4+O2xe7dG7w4PD1ztu3ShpJGqgectngmk4RnXrtxIuyleFi/QK5JRg7JxKjNyZPDqtStfXek9d7nnH5f+72zPhe6vPj9R2shIBq7C7oK7J3nVprYxMn7Vdkl926SndLWF13GJwgR6RTJqUDZOZUb2XDh59pN3T3147NMPj0J0//Wtz/5+vCojdVtfsgHtkPpQqAg/bhrn3Hh2ZwMiIvYuPiwrUaBAr0hGDcrGqcDIir+PlJDwA70iGTUoG6cCIyUkagz0imTUoGwcMVKieYFekYwalI0jRko0L9ArklGDsnHESInmBXpFMmpQNo4YKdG8QK9IRg3KxhEjJZoX6BXJqEHZOFlGUksQ6kf+RtJ/rW2grLBeydlItPDgwQvb/u0g/MRN6hPWJbkZifKdP39eubjtQn9/P/yENmSwi8Y1jlK/zKcq9C9NaT+pf49J43+BSUNeQs7kaSQqeOECnRoBaKOg0KZxJaFfnGNAG8pZJ7ucXoXMmaUMUJWsh3AYdXQy+qJKHc9qJE8jtXyhkZCBPLRpXEmqXhU7kVdQTqWLVGJfgTVVH1nZNH4PzSdnI0dHR+Hjo71qQxsytRppM6qR+KXwkNQJhRvGKrBNde1F1HQ2U1fzexN1Igk9xfddFTUZ6KWm25Xp47Vcb+F++2Pt5Gwk/AQuX74MbfiJmxUbSYujUAtkF091YcuutUq5VbfDvHV1Yhggo0eEIxHTG53nZyARjnGDeIN24w7X7drlUo5ndVMII4Fkm8aVJLkqNuOtom7xwZFhCPNIGYQkpgN+b1gGYJUyoFF2cPZBRnvXEHkaye9s0MIq72yCVYksnmnxwZFhGp4PHOEjk71J/8ozEoe5scFe7MEEjaC9VsjTSMB++2N/VvztT3JVIotnW7DuZrRt8grQttdVXid5jszu1SQSap8xR1XaHhc/SFUbx7tasZewhsjNSATlq+kb8uSy24zrYoP06ivU/7zODKMU4NWisfZ369uh2pJEbyBIxBc1JWJkYqg7JDOavQKzY/YS1hA5GwmghRbKrk6USFY48CYmn5BN/kauLfTJDURMOxkKpRAjhWIhRgrFQowUikX+RtIdjYGywnolZyPRwpq+/akv/EuWCmjuDU2VB7k6yM1IlK8Oz0dqGfSXc7FFsl/08VW0ySR2WMaYBOoQrIcwsY5ORg9DjIxSu5GoYPA0GgoKbRpXDuWsUJmrWM1iB9Y03hcxMkrtRmr5an4+ErArpBr+42fUBX/oJAB5tqJgE+GNdw03ALBjcNMfaUkkdBH/xKlqmAz0UtNWtn28lutNuSCsCXI2sg7PRwJ22dSaYcusMu/iSxuuKIzXqeh4hRmgOkgX2ocTypDIQCIc4wbxBu0S9kE5dxgulzi2NUXORsJPoKbnIwG7Qt766Vaky28rWZD08WqD2UDjFTDEG4hYxzKhUXYwL2TbyUbQXnMUwkgg2aZx5RBZNtOKdPnJQIfYeDcKN2wdJOlfeUbiMDeWV04eRrR3LZKnkfzOBi2s9c7GLZVpRbpiSWiknSNBGWwQsO0c6oCGHWlIJPgcjkqz4m5P6nBwvKvFjoM11x55GgnU5/nIyBXUtLyMHgYr7ZIoBcw1T5TZLmqYWYi1hLYxEQgS8UXtJWJkYqirbEbb4wHoWOFo1+BDaJbcjERQvgJ9Q14VSiQrHHgTk08ok5yNBNBCC2VXGfrkBiKmnQyFssnfSEHgiJFCsRAjhWIhRgrFIn8j6Y7GQFlhvZKzkWhh/t/+8K/96kZzb8Ab8hJyIDcjUb76PB9Z+0rYItoiQ2bdUvtVlayH9f2SEqold12X96EA5GkkKhg8jYaCQpvGlaQuK2GL8GrKqXSRSuw3sKYuR5lJ4/fQHPI0UstX8/OR0ZXQMmmcUeriidicG2ZOiEE1tulPZzN1tbB4UCeS0FPc0SlUUZOBXmq6XZk+Xsv1ljinrxZyNrIhvz9SrSal+BobbC/rtEXCak4Mg5ke2S9geqPz/AwkYseGKd6g3bjDdbt2uZTjWX3kbCT8BGr9/ZHBSvAMbysFEJ2KDgurWTMypwN+b1gGYJUyoFF2cPZBRntXOYUwEki2aVxJkisRXSdoBIucNswmAZ7Pnh70Jv0rz0gc5sYGe7EHEzSC9momTyP5nQ1aWKc7G1hQSkFnoIpOYcsNc01eTY1MmGGnByMzejWJhNpnzFGVtsdV4rVEX8IqJ08jgXo+H6lhq4e4NddLDSPsL9ezKUiaJw69at4KJ6aboXoPid5AkGBToaZEjEwMTb4WyNgRtGP2ElY5uRmJoHz5f0PeAJRIVjjwJiafkCRnIwG00ELZtYA+uYGIaSdDIUb+RgoCR4wUioUYKRQLMVIoFvkbSXc0BsoK65WcjUQL19y3P829y+ZfT65+cjMS5avD85GA/ZYYqHpttEWGzCqlDFCVrIf1/SYSqiV3LUYitRuJCgZPo6Gg0KZxJfHWvwb4uqqa6UVLGBBY03hfGr+HZpKnkVq+hjwf6U6aWislmPHLnbNUVoPTgzps069mp1HxYF9hnUhCTzHHg6iiJhM5QtvHa7neGq4MxSNnI+vx+yPNyvhrrIHFxbWyq2wbMIsmUIovtsKJYTDVwpGI6Y3O8zOQCMe4QbxBu1GvEHNu1y6XcjyrlZyNhJ9Arb8/UqOWyHqp1hyhtaJ1tstNowk1KFxXOzRRLRjp90b0YJUyoFF2MC9k28lG0F79FMJIINmmcZWh1xNWKLmquse5kVzFIGM3k9X4yGSv24chmYmScYS2nWwE7dVPnkbyOxu0sJo7Gw6uDV82c47UC84/b6lNu/bhr4FUExNm2GrByIxeTSLB981JHiFtqNo43tVyvby5BsjTSKAOz0fqdTS45dJb7FHI5MKpdSbUcrNN7gWQqGaGaksSvcF+wt0CakrEyMRQd0hmtDPS7hh2vUaejERyMxJB+dbYN+RKJCsceBOTT0gjZyMBtNBC2dWNPrmBiGknQyGd/I0UBI4YKRSL6o18YUfrwsICbQhCnajeyJde3DE+PkYbglAnqjfy4IHdly/10oYg1IO7d26/9PMdJKOGOhipRn504oPO99+hDUGoB2dOd7/RsZ9k1FAHI9XI6alJuHAvLy3RtiDUzO5f7Tr16UmSUUMdjFQjATD67eN/oA1BqI3kCRKgPkaWkcD+va/19UWmCUJFwCfIV17eefHrr8lEA3UzShgJt9uv/+LFgRv9tC0IlQM6Jq/XQF9fH41glDASwHJwlyOfKYUqgFtkODsmdQRohE9pIxFVd9fO7u4T8iWlUA7gCXxwhAvskT+8kbxYA0NDQzTUp1wjAdjHe+8e+6///Fnbc1skJLIDPIH7mNOnT5GAPtHrNVKBkZbBwUEqLAiVc/36dTIpRjVGIlevXqU9CELZkD3pVG8k0t/fT7sShHTAEzKmFLUaKQj1RYwUioUYKRQLMVIoFmKkUCzESKFYiJFCsRAjhWIhRgrFQowUisS33/4/rjXwGSuidT8AAAAASUVORK5CYII=" alt="" /></div>
<div>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using Contracts;
using System.ComponentModel.Composition;
namespace CRMModule
{
[Export(typeof(IContractModule))]
public class CRMMiner
: IContractModule
{
public string Author
{
get
{
return "Burki";
}
}
public string Description
{
get
{
return "CRM sistemindeki müşteri verilerini yükler.";
}
}
public string Name
{
get
{
return "CRM Data Miner";
}
}
public void FindData()
{
//Bir takım kodlar
}
public void Initialize()
{
//Bir takım kodlar
}
public void LoadData()
{
//Bir takım kodlar
}
public void SaveData()
{
//Bir takım kodlar
}
}
}</pre>
<strong>HRMiner Modül<br /></strong></div>
<div><img style="line-height: 1.42857143; width: 229px;" src="data:image/png;base64,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" alt="" /></div>
<div>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using Contracts;
using System.ComponentModel.Composition;
namespace HRModule
{
[Export(typeof(IContractModule))]
public class HRMiner
: IContractModule
{
public string Author
{
get
{
return "Coni bi gud";
}
}
public string Description
{
get
{
return "İnsan Kaynakları biriminden ilgili müşteri verilerini yükler";
}
}
public string Name
{
get
{
return "HR Customer Data Miner";
}
}
public void FindData()
{
//Bir takım kodlar
}
public void Initialize()
{
//Bir takım kodlar
}
public void LoadData()
{
//Bir takım kodlar
}
public void SaveData()
{
//Bir takım kodlar
}
}
}</pre>
ve son olarak </div>
<h3>Mernis Modül</h3>
<div><img style="color: inherit; font-family: inherit; line-height: 1.42857143; width: 215px;" src="data:image/png;base64,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" alt="" /></div>
<div>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using Contracts;
using System.ComponentModel.Composition;
namespace MernisModule
{
[Export(typeof(IContractModule))]
public class MernisMiner
: IContractModule
{
public string Author
{
get
{
return "ToBe Tuuba";
}
}
public string Description
{
get
{
return "Mernis sistemindeki müşteri verilerimizi yükler";
}
}
public string Name
{
get
{
return "Mernis Customer Data Miner";
}
}
public void FindData()
{
//Bir takım kodlar
}
public void Initialize()
{
//Bir takım kodlar
}
public void LoadData()
{
//Bir takım kodlar
}
public void SaveData()
{
//Bir takım kodlar
}
}
}</pre>
Her üç modül <span style="font-weight: bold;">IContractModule </span>sözleşmesini uygulayan birer sınıf içermektedir. Bu üç sınıfın en önemli özelliği ise <span style="font-weight: bold;">Export niteliğini<span style="font-style: italic;">(attribute)</span></span> kullanmalarıdır. Bu nitelik <span style="font-weight: bold;">MEF </span>altyapısına ilgili tipin hangi sözleşmeyi sunduğunu bildirmektedir ki bu sayede <span style="font-weight: bold;">IContractModule </span>arayüzünü uyarlayan sınıflara ait örnekler <span style="font-weight: bold;">MEF </span>tarafından değerlendirilebilsinler. Dikkat edileceği üzere <span style="font-weight: bold;">Export </span>niteliğine <span style="font-weight: bold;">IContractModule </span>arayüz tipi <span style="font-weight: bold;">typeof </span>operatörü ile parametre olarak geçilmiştir. Gelelim asıl kahramanımıza.</div>
<h1>Ana Uygulama</h1>
<div>Her ne kadar ana uygulama basit bir <span style="font-weight: bold;">Console </span>projesi olarak tasarlanmış olsa da içerisinde <span style="font-weight: bold;">MEF </span>kullanım şekline <span style="font-weight: bold;">Hello World </span>dememiz için yeterlidir. Tabiki ana uygulamanında <span style="font-weight: bold;">System.ComponentModel.Composition.dll</span> <span style="font-weight: bold;">assembly</span>' ını referans etmiş olması gerekmektedir. Diğer yandan modüllerin bu uygulama tarafından kolayca taranabilir bir yerde olmasında da yarar vardır. Bu amaçla ortak bir klasör kullanılabilir ve <span style="font-weight: bold;">dll</span>' lerin buraya atılması sağlanabilir.</div>
<div> </div>
<blockquote>Hatta bu modüllerin uygulamanın çeşidine göre ortak bir sunucundan indirilerek lullanılması da sağlanabilir. Nuget paket yönetim aracında olduğu gibi.</blockquote>
<div>Ben örnek olarak Debug\Extensions klasörü altına Build edilen modül dll' lerini xCopy ile kopyaladım.<br /><br /></div>
<div><img style="width: 426px;" src="data:image/png;base64,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" alt="" /></div>
<div> </div>
<div>Gelelim ana uygulama kodlarına. Program.cs içeriğini aşağıdaki gibi yazabiliriz.</div>
<div>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using Contracts;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
using System.IO;
namespace Miner
{
class Program
{
static void Main(string[] args)
{
Host houston = new Host();
foreach (var module in houston._modules)
{
Console.WriteLine("{0} {1}\n{2}", module.Name,module.Author,module.Description);
module.Initialize();
module.FindData();
module.LoadData();
module.SaveData();
}
}
}
class Host
{
[ImportMany(typeof(IContractModule))]
public IEnumerable<IContractModule> _modules;
public Host()
{
Bootsrap();
}
void Bootsrap()
{
AggregateCatalog catalog = new AggregateCatalog();
string extensionPath= Path.Combine(Environment.CurrentDirectory,"Extensions");
catalog.Catalogs.Add(new DirectoryCatalog(extensionPath));
CompositionContainer container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
}
}</pre>
Dikkat edilmesi gereken yer <span style="font-weight: bold;">Host </span>isimli sınıf içeriğidir. Burada <span style="font-weight: bold;">IEnumerable<IContractModule> </span>tipinden bir değişken tanımlıdır. Söz konusu liste n adet <span style="font-weight: bold;">IContractModule </span>arayüz uyarlamasını taşıyabilir. Bu n sayıda bağlama tanımını <span style="font-weight: bold;">MEF </span>üzerinden gerçekleştirmek için alanın <span style="font-weight: bold;">ImportMany </span>niteliği ile imzalanması yeterlidir. <span style="font-weight: bold;">Yapıcı metod<span style="font-style: italic;">(Constructor)</span></span> içerisinden çağırılan <span style="font-weight: bold;">Bootsrap </span>isimli metod, geç bağlama işlemlerini üstlenmektedir. Nasıl mı?</div>
<div> </div>
<div>İlk olarak bir modül kataloğu tanımlanır. <span style="font-weight: bold;">AggregateCatalog </span>tipinden olan bu nesne örneğine farklı klasörlerden genişletmeler yüklenebilir. Bu nedenle <span style="font-weight: bold;">Catalogs </span>isimli bir özelliği vardır ve <span style="font-weight: bold;">DirectoryCatalog </span>ile modül klasörlerine ait yer bildirimleri yapılmaktadır. N adet modülün ilgili klasör içerisinde yer alan <span style="font-weight: bold;">IContractModule </span>uyarlamaları için düzenlenmesi gerekir. Bu noktada devreye <span style="font-weight: bold;">CompositionContainer </span>tipi girer. Dikkat edileceği üzere ilgili nesne örneklenirken parametre olarak <span style="font-weight: bold;">AggregateCatalog </span>nesnesini almaktadır. Son olarak bu kompozisyon o an çalışmakta olan canlı nesne örneği ile bağlanır. <span style="font-weight: bold;">ComposeParts </span>metodunun this anahtar kelimesi ile çağırılmasının sebebi ilgili modüllerin o anki çalışma zamanı sahibine bağlanmasıdır. Gelelim çalışma zamanı sonuçlarına.</div>
<div> </div>
<div><img style="width: 585px;" src="data:image/png;base64,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" alt="" /></div>
<div> </div>
<div>Dikkat edileceği üzere <span style="font-weight: bold;">Extensions </span>klasörü içerisinde yer alan ne kadar <span style="font-weight: bold;">dll </span>varsa içlerinde yer alan <span style="font-weight: bold;">IContractModule </span>uyarlamaları çalışma zamanına bağlanmış ve kullanılmıştır.</div>
<div> </div>
<blockquote>Bu noktada akla şöyle bir soru gelebilir. Extensions klasöründe MEF ile Import edilemeyecek assembly' lar olursa ne olur? Hiç bir şey olmaz. Sadece MEX' in Import edebileceği sözleşmeleri(Contract) uygulayabilen tipler değerlendirilir ve çalışma zamanı için bir Exception fırlatılması söz konusu olmaz. Diğer yandan Export edilen Contract ilgili klasördeki her bir tip için aranmakta mıdır ben de bilemiyorum. Bunu derinlemesine araştırmak gerekiyor. Nitekim MEF'in tüm dll' leri taraması ve Export edilen tipleri taraması ciddi bir performans kaybına neden olabilir. O halde taramamasının bir yolu var mıdır? Varsa nasıldır? ;)</blockquote>
<div><span style="line-height: 1.42857143;">Bir uygulamayı </span><span style="line-height: 1.42857143; font-weight: bold;">MEF </span><span style="line-height: 1.42857143;">alt yapısını kullanarak modüler hale getirmek son derece kolaydır. İlerleyen zamanlarda </span><span style="line-height: 1.42857143; font-weight: bold;">MEF</span><span style="line-height: 1.42857143;">' i daha geniş açıdan inceleyebiliriz. </span><a style="line-height: 1.42857143; background-color: #ffffff;" href="http://www.minepla.net/tag/mef/" target="_blank">Ancak o zamana adar sevgili Arda Çetinkaya hocamızın ilgili yazılarını takip etmenizi önerebilirim.</a><span style="line-height: 1.42857143;"> Ben kendime not düşmek amacıyla </span><span style="line-height: 1.42857143; font-weight: bold;">Hello World</span><span style="line-height: 1.42857143;"> demek istedim. Umarım sizler için de yararlı olmuştur. Böylece geldik bir makalemizin daha sonuna. Tekrardan görüşünceye dek hepinize mutlu günler dilerim.</span></div>
</div>
</div>
<div> </div>
<a href="https://www.buraksenyurt.com/file.axd?file=%2f2015%2f01%2fMEFHelloWorldV2.zip">MEFHelloWorldV2.zip (1MB)</a></div>
</div>
<div> </div>2015-01-13T15:00:00+00:00mef,managed extensibility framework,c#,.net framework,IoC,Dependency Injection,modul based development,windows api,.net runtimebsenyurtGünümüzde uygulamaların genişletilebilir olması önemli bir konu. Modüler olarak da nitelendirebileceğimiz bu felsefe ile bir uygulamanın kullanıcıları tarafından kolayca genişletilebilmesi amaçlanır. Hatta akıllı uygulamaların kendilerini bu şekilde genişletmesi de mümkündür. Modülerliği kazandırmak için kullanabileceğimiz farklı yöntemler vardır. Bunlardan belki de en basiti Interface tiplerini ve Reflection' ı kullanarak uygulamanın standart fonksiyonelliklerini genişletilebilir şekilde dışarıya açmaktır. Basittir ancak geliştiricinin iyi tasarlamasını gerekitir ve kod maliyeti yükselebilir.https://www.buraksenyurt.com/pingback.axdhttps://www.buraksenyurt.com/post.aspx?id=a99463e1-2e22-4722-b63a-6bee31bba1171https://www.buraksenyurt.com/trackback.axd?id=a99463e1-2e22-4722-b63a-6bee31bba117https://www.buraksenyurt.com/post/managed-extensibility-framework-hello-world#commenthttps://www.buraksenyurt.com/syndication.axd?post=a99463e1-2e22-4722-b63a-6bee31bba117https://www.buraksenyurt.com/post/Simetrik-Sifreleme(Symmetric-Cryptography)-Hc4b1zlarc4b1Simetrik Şifreleme(Symmetric Cryptography) Hızları2014-09-28T04:00:00+00:00bsenyurt<p><a href="https://www.buraksenyurt.com/pics/62374.gif"><img style="float: right; margin: 4px 0px; display: inline;" title="62374" src="/pics/62374_thumb.gif" alt="62374" width="240" height="240" align="right" /></a>Merhaba Arkadaşlar,</p>
<p><strong>Crptograpy</strong>…</p>
<p>Hayır hayır şöyleydi.</p>
<p><strong>Crpytograyph</strong>…</p>
<p>Yok yok böyle değil. Belki de…</p>
<p><strong>Cyrptograhy</strong>…</p>
<p>Offf! Bir türlü beceremiyorum şunu yazmayı. Hah sanırım buydu.</p>
<p><strong>Cryptography</strong>.</p>
<p>Nihayet! <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="/pics/wlEmoticon-smile_63.png" alt="Smile" /> </p>
<p>Şifreleme teknikleri sizlerin de bildiği üzere karmaşık matematiksel algoritmaları baz alacak şekilde tesis edilmeye çalışılırlar. Algoritma ne kadar karmaşık veya basit olursa olsun önemli olan çıkan sonuçların zor kırılacak cinsten olmalarıdır. Bu noktada kullanılan anahtarların ve bit değerlerinin de büyük önemi vardır. E tabi doğal olarak zaman içerisinde pek çok şifreleme algoritması ortaya çıkmıştır. Bunları temel de simetrik ve asimetrik olanlar gibi iki ana kategoriye ayırabiliriz. Ama diğer yandan hash algoritmaları veya veri bütünlüğünü korumaya yönelik algoritmalar da mevcuttur.<em>(Ve belki de bizim bilmediğimiz ama üst düzey veri güvenliğinde kullanılan çok gizli olanları <img class="wlEmoticon wlEmoticon-sarcasticsmile" style="border-style: none;" src="/pics/wlEmoticon-sarcasticsmile_10.png" alt="Sarcastic smile" /> )</em></p>
<p><strong>.Net Framework</strong> gibi pek çok programlama geliştirme ortamı, bu tip şifreleme algoritmalarının kod içerisinde kolayca ele alınmasını sağlayacak cinsten tipler/sınıflar içermektedirler. Genellikle hangisinin kullanılacağını tercih ederken simetrik veya asimetrik şifreleme yapılıp yapılmayacağına ya da ne kadar zor kırılacağına bakılır<em>(AES’ in bu konuda bazı yarışmaları var. İnceleyin derim)</em>. Bunlardan herhangibiri seçilirse bu durumda farklı faktörleri de göz önüna almamız gerekebilir. Örneğin algoritmanın şifreleme ve çözümleme işlemlerini ne kadar sürede yaptığı da önemli bir kriter olabilir.</p>
<p>Küçük içerikler söz konusu olduğunda bu çok da önem arz eden bir konu değildir, lakin elimizde n sayıda büyük boyutlu, şifrelenmesi gereken ve yeri geldiğinde de çözülecek olan veri kümeleri varsa bu durumda hız önemli bir faktör olabilir.</p>
<p>Biz bu yazımızda, simetrik şifreleme algoritmalarından olan AES<em>(Advenced Encryption Standard’ in Cryptographic Application Programming Interfaces uyarlaması)</em>, TripleDES, DES, RC2 ve Rijndael tekniklerini ele alıp, büyük boyutlu bir veri içeriği için şifreleme ve çözümleme zamanlarını ölçümlemeye çalışacağız. <em>(Hem bu vesile ile söz konusu sağlayıcıları pratik olarak nasıl kullanabileceğimizi de göreceğiz)</em></p>
<h1>Temel Cryptography Tipleri</h1>
<p>Başlamadan önce <strong>Visual Studio – Object Browser</strong> yardımıyla söz konusu şifreleme algoritmalarının tip hiyerarşisine bakmamızda yarar olduğu kanısındayım. Temel olarak simetrik şifreleme işlemlerini üstlenen sağlayıcılar<em>(Providers)</em> <strong>SymmetricAlgorithm</strong> tipinden türeyen alt tiplerden üretilirler.</p>
<p><a href="https://www.buraksenyurt.com/pics/scs_4.png"><img style="margin: 4px 0px; display: inline;" title="scs_4" src="/pics/scs_4_thumb.png" alt="scs_4" width="285" height="247" /></a></p>
<p>Aslında şifreleme için kullanılacak tipler <strong>Provider</strong> veya <strong>Managed</strong> son eki ile biten sınıflardır. Tüm bu sınıflar tepede yer alan <strong>SymmetricAlgorithm</strong> isimli <strong>abstract</strong> sınıftan türemektedir.</p>
<blockquote>
<p>Bu açıdan bakıldığında, Dependency Injection kullanılarak şifreleme işlemleri için bir üst provider yazılması ve konfigurasyon bazlı olarak ele alınması sağlanabilir. Bu sayede hangi şifreleme sağlayıcısını kullanmak istiyorsak, uygulama ortamına kolayca enjekte edebiliriz.</p>
</blockquote>
<p>Tüm bu şifreleme algoritmalarının ortak özelliklerinden birisi de paylaşımlı anahtar<em>(Shared Key)</em> kullanıyor olmalarıdır. Yani, şifreleme için kullanılan <strong>anahtar</strong><em>(Key)</em> ve <strong>ilklendirme vektör değeri</strong><em>(IV-Initialization vector)</em> ortaktır. Dolayısıyla şifreleme yapılırken kullanılan bu değerler, çözümleme sırasında da devreye girmektedir. Bu zaten, simetrik ve asimetrik şifrelemeler arasındaki en büyük farklardan birisidir.</p>
<h1>Test Senaryosu</h1>
<p>Artık söz fazla uzatmayalım ve kodlarımızı yazarak testimizi gerçekleştirmeye çalışalım. Test senaryomuzdaki amacımız, 5 şifreleme algoritmasının aynı veri üzerindeki şifreleme ve çözümleme sürelerini ölçmek olacaktır. Bunun için yaklaşık olarak <strong>50 mb</strong> büyüklüğünde bir <strong>text</strong> dosyasını kullandığımı ifade etmek isterim. <strong>Text</strong> dosyası içeriği ise bildiğimiz <strong>Lorem Ipsum</strong> paragraflarından oluşmaktadır. <em><a href="http://tr.lipsum.com/" target="_blank">(Lorem Ipsum üretimleri için bu adresten yararlanabilirsiniz)</a></em></p>
<p><a href="https://www.buraksenyurt.com/pics/scs_6.png"><img style="margin: 4px 0px; display: inline;" title="scs_6" src="/pics/scs_6_thumb.png" alt="scs_6" width="462" height="414" /></a></p>
<h1>Uygulama Kodları</h1>
<p>Gelelim kod tarafına. <strong>Console</strong> uygulaması olarak geliştireceğimiz projemizde aşağıdaki sınıf diagramında yer alan kod içeriğini kullanıyor olacağız.</p>
<p><a href="https://www.buraksenyurt.com/pics/scs_3.png"><img style="margin: 4px 0px; display: inline;" title="scs_3" src="/pics/scs_3_thumb.png" alt="scs_3" width="430" height="615" /></a></p>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using System;
using System.Diagnostics;
using System.IO;
using System.Security.Cryptography;
namespace HowTo_Cryptography
{
public static class Utility
{
#region Fields(Alanlar)
private static string _targetContent = String.Empty;
private static Stopwatch _watcher = null;
private static AesCryptoServiceProvider _aesProvider = null;
private static byte[] _aes_Key = null;
private static byte[] _aes_IV = null;
private static TripleDESCryptoServiceProvider _tdesProvider = null;
private static byte[] _tdes_Key = null;
private static byte[] _tdes_IV = null;
private static RijndaelManaged _rijndaelProvider = null;
private static byte[] _rijndael_Key = null;
private static byte[] _rijndael_IV = null;
private static RC2CryptoServiceProvider _rc2Provider = null;
private static byte[] _rc2_Key = null;
private static byte[] _rc2_IV = null;
private static DESCryptoServiceProvider _desProvider = null;
private static byte[] _des_Key = null;
private static byte[] _des_IV = null;
#endregion
static Utility()
{
_aesProvider = new AesCryptoServiceProvider();
_aes_Key = _aesProvider.Key;
_aes_IV = _aesProvider.IV;
_tdesProvider = new TripleDESCryptoServiceProvider();
_tdes_Key = _tdesProvider.Key;
_tdes_IV = _tdesProvider.IV;
_rijndaelProvider = new RijndaelManaged();
_rijndael_Key = _rijndaelProvider.Key;
_rijndael_IV = _rijndaelProvider.IV;
_rc2Provider = new RC2CryptoServiceProvider();
_rc2_Key = _rc2Provider.Key;
_rc2_IV = _rc2Provider.IV;
_desProvider = new DESCryptoServiceProvider();
_des_Key = _desProvider.Key;
_des_IV = _desProvider.IV;
_targetContent = ReadContent();
_watcher = new Stopwatch();
}
#region AES(Advanced Encyption Standard)
// Şifreleme metodu
public static byte[] AES_Encrypt()
{
return Encypt<AesCryptoServiceProvider>(_aesProvider, _aes_Key, _aes_IV);
}
// Çözümleme metodu
public static string AES_Decrypt(byte[] source)
{
return Decrypt<AesCryptoServiceProvider>(_aesProvider, source, _aes_Key, _aes_IV);
}
#endregion
#region TripleDES
// Şifreleme metodu
public static byte[] TripleDES_Encrypt()
{
return Encypt<TripleDESCryptoServiceProvider>(_tdesProvider, _tdes_Key, _tdes_IV);
}
// Çözümleme metodu
public static string TripleDES_Decrypt(byte[] source)
{
return Decrypt<TripleDESCryptoServiceProvider>(_tdesProvider, source, _tdes_Key, _tdes_IV);
}
#endregion
#region Rijndael
// Şifreleme metodu
public static byte[] Rijndael_Encrypt()
{
return Encypt<RijndaelManaged>(_rijndaelProvider, _rijndael_Key, _rijndael_IV);
}
// Çözümleme metodu
public static string Rijndael_Decrypt(byte[] source)
{
return Decrypt<RijndaelManaged>(_rijndaelProvider, source, _rijndael_Key, _rijndael_IV);
}
#endregion
#region RC2
// Şifreleme metodu
public static byte[] RC2_Encrypt()
{
return Encypt<RC2CryptoServiceProvider>(_rc2Provider, _rc2_Key, _rc2_IV);
}
// Çözümleme metodu
public static string RC2_Decrypt(byte[] source)
{
return Decrypt<RC2CryptoServiceProvider>(_rc2Provider, source, _rc2_Key, _rc2_IV);
}
#endregion
#region DES
// Şifreleme metodu
public static byte[] DES_Encrypt()
{
return Encypt<DESCryptoServiceProvider>(_desProvider, _des_Key, _des_IV);
}
// Çözümleme metodu
public static string DES_Decrypt(byte[] source)
{
return Decrypt<DESCryptoServiceProvider>(_desProvider, source, _des_Key, _des_IV);
}
#endregion
#region Generic şifreleme ve çözümleme metodları
static byte[] Encypt<T>(T provider,byte[] key,byte[] iv)
where T:SymmetricAlgorithm
{
byte[] result = null;
ICryptoTransform encryptor = provider.CreateEncryptor(key, iv);
_watcher.Restart();
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter sWriter = new StreamWriter(cs))
{
sWriter.Write(_targetContent);
}
result=ms.ToArray();
}
}
_watcher.Stop();
Console.WriteLine("Encrypt\t{0}\n{1}",provider.ToString(),_watcher.ElapsedMilliseconds.ToString());
return result;
}
static string Decrypt<T>(T provider,byte[] source, byte[] key, byte[] iv)
where T : SymmetricAlgorithm
{
string result = String.Empty;
ICryptoTransform decryptor = provider.CreateDecryptor(key, iv);
_watcher.Restart();
using (MemoryStream ms = new MemoryStream(source))
{
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
{
using (StreamReader sReader = new StreamReader(cs))
{
result=sReader.ReadToEnd();
}
}
}
_watcher.Stop();
Console.WriteLine("Encrypt\t{0}\n{1}\n", provider.ToString(), _watcher.ElapsedMilliseconds.ToString());
return result;
}
#endregion
#region Yardımcı metodlar
static string ReadContent()
{
return File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "SampleDocument.txt"));
}
#endregion
}
}</pre>
<p>Aslında kod içeriği her ne kadar karmaşık görünse de region’ ları kapatıp büyük resme baktığımızda iskelet daha rahat anlaşılabilir. <em>(Hafiften bir BLOB veya GOD Object AntiPattern’ ine kaymış gibiyiz ama bunu önemsemesekte olur)</em></p>
<p><a href="https://www.buraksenyurt.com/pics/scs_5.png"><img style="margin: 4px 0px; display: inline;" title="scs_5" src="/pics/scs_5_thumb.png" alt="scs_5" width="605" height="601" /></a></p>
<h1>Kodun Çalışma Şekli</h1>
<p>Şimdi neler yaptığımızı kısaca özetleyelim.</p>
<p>Öncelikli olarak <strong>static</strong> <strong>Utility</strong> sınıfı içerisinde bazı temel alanlar<em>(Fields)</em> yer aldığı görülmektedir. Her bir şifreleme sağlayıcısı<em>(Provider)</em> ve bunlara ait <strong>Key, IV</strong> değerleri için birer alan tanımlanmıştır. Söz konusu alanlar <strong>static</strong> <strong>yapıcı metod</strong><em>(Constructor)</em> içerisinde <strong>initialize</strong> edilirler. Ayrıca yapıcı metodumuz, 50 mb’ lık text dosyasını da içerdeki string değişkene alacak şekilde tesis edilmiştir.</p>
<p>5 farklı simetrik şifreleme algoritması için ayrı ayrı metodlar yazıldığı görülmektedir ancak her biri generic olarak tasarlanmış <strong>Encypt</strong><em>(ki an itibariyle yanlış yazdığımı fark ettim <img class="wlEmoticon wlEmoticon-openmouthedsmile" style="border-style: none;" src="/pics/wlEmoticon-openmouthedsmile_36.png" alt="Open-mouthed smile" /> Sanırım enkıyipt olarak telafüz edebiliriz)</em> ve <strong>Decrypt</strong> fonksiyonlarını kullanmaktadır. Bu fonksiyonlarda dikkat edilmesi gereken en önemli nokta ise <strong>generic T</strong> tipi için bir<strong> kısıtlama</strong><em>(Constraint) </em>belirtilmiş olmasıdır ki bu kısıtlamaya göre <strong>T</strong> tipi mutlaka <strong>SymmetricAlgorithm</strong> türevli olmak zorundadır.</p>
<blockquote>
<p>Yazıya konu olan kod parçasının en önemli kısımı, generic metod kullanılması ve T tipi için constraint uygulanarak, sadece simetrik algoritma sağlayacılarına destek verecek ortak fonksiyonelliklerin üretilmiş olmasıdır. Bu kodun yeniden kullanılabilirliği(re-usable), okunabilirliği(readable) ve bakımı(maintable) açısından önemlidir.</p>
</blockquote>
<p>Aslında <strong>Provider</strong>’ ların kullanımları da aynıdır. Şifreleme işlemleri için <strong>ICryptoTransform</strong> arayüzü<em>(Interface)</em> tipi üzerinde taşınabilecek şekilde bir tip üretilmektedir. Bunun için kullanılan <strong>CreateEncryptor</strong> metodu parametre olarak <strong>Key</strong> ve <strong>IV</strong> değerlerini alır. Bu değerler tahmin edeceğiniz üzere kullanılan şifreleme algoritmasına özeldir. Benzer şekilde çözümleyici için de <strong>CreateDecryptor</strong> metodlarından yararlanılmaktadır ki bu fonksiyon da parametre olarak <strong>Key</strong> ve <strong>IV</strong> değerlerini alır.</p>
<p>Gerek şifreleme gerek çözümleme operasyonları olsun, her ikisinde de <strong>CryptoStream</strong> tipinden yararlanılmaktadır. Eğer bir şifreleme işlemi söz konusu ise doğal olarak <strong>CryptoStreamMode.Write</strong> modu, tersine bir çözümleme operasyonu yapılacaksa <strong>CryptoStreamMode.Read</strong> modu kullanılır.</p>
<p>Şifreleme işlemleri sonucunda <strong>provider’</strong> lar içerikleri bir <strong>byte[]</strong> dizisine yazarlar. Bu noktada <strong>StreamWriter</strong> sınıfından yararlanılmaktadır. Çözümleme işlemlerinde ise<strong> byte[]</strong> tipinden olan içeriğin genellikle bir <strong>string</strong> katarına alınması söz konusudur. Bu noktada da, <strong>StreamReader</strong> tipinden yararlanılmaktadır.</p>
<p>Aslında yazma/şifreleme operasyonundaki yapı şu şekilde özetlenebilir.</p>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter sWriter = new StreamWriter(cs))
{
sWriter.Write(_targetContent);
}
result=ms.ToArray();
}
}</pre>
<p><strong>StreamWriter</strong>, <strong>CryptoStream’</strong> e yazar. <strong>CryptoStream</strong> ise <strong>MemoryStream’</strong> e. Son olarak <strong>MemoryStream</strong> örneği üzerine yazılan içerik bir <strong>byte[] array’</strong> e atanır.</p>
<p>Okuma/çözümleme işleminde ise,</p>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using (MemoryStream ms = new MemoryStream(source))
{
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
{
using (StreamReader sReader = new StreamReader(cs))
{
result=sReader.ReadToEnd();
}
}
}</pre>
<p>bu kez <strong>StreamReader</strong>, <strong>CryptoStream’</strong> e yazar. <strong>CryptoStream’</strong> de yine <strong>MemoryStream’e</strong>. Son olarak <strong>StreamReader</strong> nesne örneği üzerinden <strong>ReadToEnd</strong> ile çözümlenen içeriğin string karşılığı alınır.</p>
<p>Örnekte süre ölçümlemesi için <strong>Stopwatch</strong> tipinden yararlanılmıştır. Bu tipin <strong>Restart</strong> ve <strong>Stop</strong> edildiği aralıktaki işlemlerin süresi hesaplanmaktadır. Bu hesaplamalar şifreleme ve çözümleme işlemlerinde devreye giren generic metodlarda yapılmaktadır.</p>
<p>Main metodunun bulunduğu <strong>Program</strong> sınıfının içeriğini ise aşağıdaki gibi kodlayabiliriz.</p>
<pre class="brush:csharp;auto-links:false;toolbar:false" contenteditable="false">using System;
namespace HowTo_Cryptography
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("***Test Case Start***");
TestMethod();
Console.WriteLine("***Test Case End***");
}
}
private static void TestMethod()
{
string content = String.Empty;
byte[] aesEncrypted = Utility.AES_Encrypt();
content = Utility.AES_Decrypt(aesEncrypted);
byte[] tdesEncrypted = Utility.TripleDES_Encrypt();
content = Utility.TripleDES_Decrypt(tdesEncrypted);
byte[] rijndaelEncrypted = Utility.Rijndael_Encrypt();
content = Utility.Rijndael_Decrypt(rijndaelEncrypted);
byte[] rc2Encrypted = Utility.RC2_Encrypt();
content = Utility.RC2_Decrypt(rc2Encrypted);
byte[] desEncrypted = Utility.DES_Encrypt();
content = Utility.DES_Decrypt(desEncrypted);
}
}
}</pre>
<h1>Test Sonuçları</h1>
<p>Test olması açısından 5 simetrik algoritmanın şifreleme ve çözümleme metodlarını arka arkaya 5 kez çağıran bir yapı kurgulanmıştır. Örneği bu şekilde çalıştırdığımızda aşağıdakine benzer sonuçlar ile karşılaşırız. Tabi buradaki ölçüm değerleri donanımsal faktörlere de bağlıdır.</p>
<blockquote>
<p>Testler, 4 çekirdekli ve 4Gb Ram kullanan intel İ5 chipset’ li bir desktop PC üzerinden, Windows 7 işletim sistemi ortamında Visual Studio 2012 ve .Net Framework 4.5 kullanılarak geliştirilmiş bir uygulama tarafından yapılmıştır.</p>
</blockquote>
<p><a href="https://www.buraksenyurt.com/pics/scs_1.png"><img style="margin: 4px 0px; display: inline;" title="scs_1" src="/pics/scs_1_thumb.png" alt="scs_1" width="588" height="685" /></a></p>
<p>Sonuçları daha iyi irdelemek adına süreleri bir <strong>Excel</strong> grafiğinde birleştirebiliriz. Aynen aşağıda görüldüğü gibi <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style: none;" src="/pics/wlEmoticon-winkingsmile_143.png" alt="Winking smile" /></p>
<p><a href="https://www.buraksenyurt.com/pics/scs_2.png"><img style="margin: 4px 0px; display: inline;" title="scs_2" src="/pics/scs_2_thumb.png" alt="scs_2" width="539" height="617" /></a></p>
<p>Elde edilen sonuçlara göre en hızlı şifreleme ve çözümleme <strong>AES</strong> sağlayıcısı tarafından gerçekleştirilmiştir. En yavaş olan algoritma ise <strong>Triple</strong> <strong>DES’</strong> tir. Genel olarak tüm algoritmaların şifreleme süreleri çözümleme sürelerine oranla daha düşüktür. Ancak <strong>RC2</strong> algoritması tabanlı sağlaycının verdiği sonuçlar ilginçtir. Yapılan 5 test göz önüne alındığında, <strong>RC2</strong> için çözümleme hızı, şifreleme hızına göre daha yüksek çıkmıştır.</p>
<p>Bu test örneğinde simetrik şifreleme algoritmalarının <strong>Encryption</strong> ve <strong>Decryption</strong> operasyonlarına ait süre ölçümlemelerine bakılmıştır. Hızın öne çıktığı bir durum söz konusu ise <strong>AES’</strong> in tercih edilmesi elbette olasıdır ama yine de iyi düşünmek gerekir. Nitekim hangi algoritmanın kaç bitlik şifreleme yaptığına göre de karar verilmesi önemlidir. Bu açıdan bakıldığında, en sağlam algoritmalarından birisi olarak <strong>TripleDes</strong> ve <strong>Rijndael</strong> daha fazla öne çıkmaktadır.</p>
<blockquote>
<p>Tabi key boyutları dışında farklı etkenler de söz konusudur. Bilindiği üzere 2000li yılların başında şifreleme anahtarlarının en az 128bit destekli olması standart olarak kabul edilmiştir. Çok hassas verilerin korunmasında ise 192bit ile 256bit şifrelemeler önerilmektedir.</p>
<p>National Institute of Standards and Technology(NIST) in ifade ettiğine göre, 80bit anahtar kullanan algoritmalar 2015 yılından itibaren geçerliliğini yitireceklerdir. Dolayısıyla bu ve altında(örneğin 56bit gibi) anahtarlar ile hizmet veren şifreleme algoritmalarının <span style="text-decoration: underline;">kullanılmaması</span> doğru bir hareket olacaktır.</p>
</blockquote>
<p>Bu yazımızda en bilinen ve popüler olan simetrik şifreleme algoritmalarının .Net Framework tarafındaki süre bazlı performanslarını incelemeye çalışıp, nasıl kullanıldıklarını gördük. Konu veri güvenliği olunca en sağlam sistemi de kursanız <strong>%1</strong> ihtimalle kırılma olasılığını her zaman için göz önünde bulundurmak gerekir. Bu sebepten yazdıklarıma güvenmeyip daha derin bir araştırma ile hangi simetrik şifreleme algoritmasını seçeceğinize karar vermeniz yerinde bir hareket olacaktır. Böylece geldik bir makalemizin daha sonuna. Tekrardan görüşünceye dek hepinize mutlu günler dilerim.</p>
<p><a href="https://www.buraksenyurt.com/pics/2012%2f10%2fHowTo_Cryptography.zip">HowTo_Cryptography.zip (45,00 kb)</a></p>
<p><span style="color: #ff0000;">[Text dosyasının içeriği bilinçli olarak boşaltılıp 1Kb seviyesine indirilmiştir. Test etmeden önce dosya içeriğini copy-paste ile çoğaltarak boyut arttırımı yapmanızı ve 50mb seviyelerine getirdikten sonra kodu çalıştırmanızı öneririm]</span></p>2014-09-28T04:00:00+00:00cryptographyencryptiondecryptionşifrelemealgorithmssymmetric encryptionbsenyurtŞifreleme teknikleri sizlerin de bildiği üzere karmaşık matematiksel algoritmaları baz alacak şekilde tesis edilmeye çalışılırlar. Algoritma ne kadar karmaşık veya basit olursa olsun önemli olan çıkan sonuçların zor kırılacak cinsten olmalarıdır. Bu noktada kullanılan anahtarların ve bit değerlerinin de büyük önemi vardır. E tabi doğal olarak zaman içerisinde pek çok şifreleme algoritması ortaya çıkmıştır. Bunları temel de simetrik ve asimetrik olanlar gibi iki ana kategoriye ayırabiliriz. Ama diğer yandan hash algoritmaları veya veri bütünlüğünü korumaya yönelik algoritmalar da mevcuttur.https://www.buraksenyurt.com/pingback.axdhttps://www.buraksenyurt.com/post.aspx?id=3d0fe0d5-3759-4dbf-93cf-432f726c94d64https://www.buraksenyurt.com/trackback.axd?id=3d0fe0d5-3759-4dbf-93cf-432f726c94d6https://www.buraksenyurt.com/post/Simetrik-Sifreleme(Symmetric-Cryptography)-Hc4b1zlarc4b1#commenthttps://www.buraksenyurt.com/syndication.axd?post=3d0fe0d5-3759-4dbf-93cf-432f726c94d6https://www.buraksenyurt.com/post/Meraklc4b1sc4b1na-NuGet-ve-NLog-ile-5-Dakikada-LoglamaMeraklısına NuGet ve NLog ile 5 Dakikada Loglama2014-06-20T20:12:00+00:00bsenyurt<p>Merhaba Arkadaşlar,</p>
<p><strong>Log</strong>lama kodlamanın vazgeçilmez unsurlarından birisidir. Ayrıca <strong>Enterprise</strong> seviyedeki çözümlerde kullanılan önemli <strong>CrossCutting</strong>' ler arasında yer almaktadır. Uygulamaların çeşitli yerlerinde çeşitli seviyelerde log atma işlemleri sıklıkla icra edilir. Bu işlemler, olası <strong>Exception</strong>’ ların tespit edilmesi, işleyen süreçlerde hareket eden verilerin tarihsel anlamda izlenmesi, uygulamaların sağlık durumları hakkında bilgi edinip tedbirler alınması, buna bağlı olarak gerekli sistemsel birimlerin uyarılması gibi durumlarda oldukça işe yaramaktadır. Her ne kadar kayıt altına alınacak verilerin ne olacağına karar vermek zor olsa da Loglama çoğu zaman hayat kurtarır. </p>
<p>
<object width="640" height="360">
<param name="movie" value="//www.youtube.com/v/-d6m3grc28k?version=3&hl=en_US" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="640" height="360" src="//www.youtube.com/v/-d6m3grc28k?version=3&hl=en_US" allowfullscreen="true" allowscriptaccess="always"></embed>
</object>
</p>
<p>Günümüzde loglama özelliği taşımayan bir <strong>Enterprise</strong> çözüm görmemiz neredeyse imkansızdır. <strong>Ar-Ge</strong> ve taşıdığı yazılım prensiplerinin uygulanma şekillerini öğrenmek gibi amaçlar dışında kimse sıfırdan bir Loglama mekanizması <span style="text-decoration: underline;">geliştirmemektedir</span>. Bunun yerine hazır olarak sunulan açık kaynak kütüphanaler kullanılmaktadır. Hatta elinizin altında <strong>NuGet</strong> gibi bir paket yönetim aracı varsa, üzerinde çalıştığınız projeye birkaç adımda loglama kabiliyeti kazandırmak oldukça kolaydır. Nasıl mı? Haydi gelin 5 dakikada loglama yapalım.</p>
<p><em><span style="color: #ff0000;">Not : Güncel NLog sürümünü kontrol edin. Metodların kullanım şekillerinde farklılıklar olabilir ama teori aynıdır.</span></em></p>2014-06-20T20:12:00+00:00bsenyurthttps://www.buraksenyurt.com/pingback.axdhttps://www.buraksenyurt.com/post.aspx?id=fe4e6759-20b6-414d-85bb-62cf74855aa26https://www.buraksenyurt.com/trackback.axd?id=fe4e6759-20b6-414d-85bb-62cf74855aa2https://www.buraksenyurt.com/post/Meraklc4b1sc4b1na-NuGet-ve-NLog-ile-5-Dakikada-Loglama#commenthttps://www.buraksenyurt.com/syndication.axd?post=fe4e6759-20b6-414d-85bb-62cf74855aa2https://www.buraksenyurt.com/post/Nedir-Bu-MSBuildNedir Bu MSBuild?2013-08-01T07:47:00+00:00bsenyurt<p><span style="color: #ff0000;"><a href="https://www.buraksenyurt.com/pics/msbuild_9.jpg"><img style="background-image: none; float: right; padding-top: 0px; padding-left: 0px; margin: 4px 0px; display: inline; padding-right: 0px; border-width: 0px;" title="msbuild_9" src="/pics/msbuild_9_thumb.jpg" alt="msbuild_9" width="204" height="204" align="right" border="0" /></a>[Orjinal Yazım Tarihi – 25/02/2013]</span></p>
<p>Merhaba Arkadaşlar,</p>
<p>Yıllar öncesinde bir kaç seneliğine de olsa saygın bir eğitim kurumunda eğitmen olarak görev alma şansını yakalamıştım. Özellikle <strong>C#</strong>’ ın öğretilmeye çalışıldığı başlangıç niteliğindeki seanslarda dilin temel özelliklerini anlatırken, tüm dış çevre ile olan bağlantıyı kesip, sadece anahtar kelime(keyword), ifade ve materyale odaklanmaya çalışırdık. Bu sebepten genellikle ilk örneklerimiz ve <strong>Hello World </strong>uygulamamız, <strong>Notepad </strong>gibi bir program ve komut satırındaki<strong> csc<em>(C# Compiler)</em></strong> ile inşa edilirdi.</p>
<p>O zamanlar bu bizim için yeterli görünüyordu ama tabi <strong>.Net Framework 2.0</strong> ile birlikte hayatımıza yeni bir inşa süreci de girdi. Aslında bu günkü konumuzda da, <strong>Notepad<em>(tam olarak Notepad 2)</em></strong> ve komut satırı aracını kullanarak ilerlemeye çalışıyor olacağız. Amacımız <strong>MSBuild</strong> platformunu çok kısaca tanımaya ve anlamaya çalışmak.</p>
<p><strong>Microsoft Build Engine</strong> aslında başlı başına bir platformdur. Kısaca <strong>MSBuild</strong> olarak anılmaktadır ve bir uygulamanın inşa edilmesi noktasında devreye giren <strong>XML<em>(eXtensible Markup Language)</em></strong> tabanlı bir <strong>Script</strong> bütününü esas alır. Kısacası uygulamanın inşa edilmesi sırasındaki aşamalar <strong>XML</strong> tabanlı bir akış olarak ifade edilebilmektedir. <strong>MSBuild</strong> platformunun en önemli özelliği ise, inşa sürecinde <strong>Visual Studio</strong> gibi bir araca ihtiyaç duymuyor oluşudur.</p>
<p>Evet <strong>Visual Studio</strong>’ nun kendisi, <strong>Build </strong>işlemlerinde bu platformu kullanmaktadır doğru ama, tam tersi durum geçerli değildir. Yani istersek <strong>MSBuild</strong> aracını kullanarak, bir uygulamanın veya uygulama ortamının üretilmesi sırasındaki aşamaları, basit bir <strong>Notepad</strong> aracı ile tasarlayabilir ve <strong>MSBuild.exe</strong>’ den yararlanarak hayata geçirebiliriz<em>(Ancak bu gün şanslısınız çünkü <strong>Notepad2 </strong>isimli ürünü kullanacağız. <a href="http://sourceforge.net/projects/notepad2/">Sourceforge adresinden indirebilirsiniz</a> <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="/pics/wlEmoticon-smile_91.png" alt="Smile" /> )</em></p>
<p>Bu fikir tabi ki otomatize edilmiş <strong>Build</strong> işlemlerinin de icra edilebileceği anlamına gelmektedir. Ki <strong>Team Foundation Server</strong> ürünü de <strong>MSBuild</strong>’ un etkin bir şekilde kullanılmasına olanak tanımaktadır. Özellikle <strong>Team Foundation Build </strong>olarak anılan platform içerisinde <strong>Build Server</strong>’ un kurulduğu ortam <strong>MSBuild Script</strong>’ lerini kullanarak üretim işlemlerini gerçekleştirmektedir. Söz gelimizi <strong>TFS </strong>tarafında eğer <strong>Continous Integration </strong>gibi bir strateji tercih edilmişse, kodlamacıların <strong>Check-In</strong> işlemleri sonrası <strong>Team Foundation Build</strong> devreye girecek ve <strong>MSBuild script</strong>’ leri otomatik olarak çalıştırılarak inşa işlemleri icra edilecektir. <em>(<strong>Team Foundation Build</strong> ayrıca incelenmesi gereken bir konu olduğundan bu yazımızda detaylandırılmamıştır)</em> </p>
<p><strong>Visual Studio</strong> ortamında geliştirdiğimiz projeleri göz önüne aldığımızda, oluşturulan proje dosyaları içerisinde, <strong>MSBuild</strong>’ un kullanacağı <strong>ayarlar<em>(Settings) </em></strong>ve bazı koşul bağlı işlevsellikler konuşlandırılmaktadır. Tabi geliştirici olarak bu kısımlar ile pek fazla uğraşmayız ve nihayetinde <strong>Visual Studio</strong> bizim için bu akışları otomatik olarak inşa eder. Ancak <strong>Release Manager</strong> gibi pozisyonlar özellikle bu proje dosya içeriklerini değerlendirerek genişletmeler yapabilir ve <strong>MSBuild</strong> sürecini farklılaştırabilirler.</p>
<blockquote>
<p>Visual Studio ile geliştirilen proje dosyaları C# tarafı için csproj, Visual Basic tarafı için vbproj, Managed C++ tarafı içinse vcxproj uzantılı olanlardır.</p>
</blockquote>
<h1>Hangi Durumlarda MSBuild</h1>
<p>Peki <strong>MSBuild</strong> ağırlık olarak hangi hallerde ele alınır.</p>
<ul>
<li>En bilinen sebep elimizde <strong>Visual Studio</strong> olmayan bir ortamda inşa etme işlemlerinde değerlendirilebiliyor olmasıdır.</li>
<li><strong>Compiler</strong> devreye girmeden önce bazı dosyaların <strong>Process</strong> edilmesi gereken durumlarda ele alınabilir.<em>(Pre-Processing Steps)</em> </li>
<li>Benzer şekilde <strong>Process</strong> sonrası yapılması istenen işlemler içinde kullanılabilir<em>(Post-Processing Steps)</em></li>
<li><strong>Build</strong> işlemi sonucu çıktıların farklı bir klasöre taşınması sağlanabilir. <em>(Ki bu klasör pek çok projenin ortaktaşa kullandığı bir assembly için paylaşımdaki bir makine bile olabilir)</em></li>
<li>Çıktıların sıkıştırılması istendiği bir durumda ele alınabilir.</li>
<li>İnşa işleminin birden fazla <strong>Process’</strong> e bölünerek daha hızlı tamamlanması istendiği durumlarda değerlendirilebilir. <em>(Özellikle Enterprise çözümlerde, n sayıda Branch’ in ve dolayısıyla çıktının söz konusu olabileceği senaryolarda, uzun sürebilecek Build işlemleri için kritik bir özelliktir)</em></li>
<li><strong>MSBuild 64bitlik </strong>bir sistem için inşa işlemini icra edebilir.</li>
<li><strong>Build</strong> işleminin herhangibir noktasında harici bir aracın kullanılması istendiği hallerde göz önüne alınabilir.</li>
</ul>
<p>ve benzeri pek çok durumda <strong>MSBuild</strong>’ u açık bir şekilde özelleştirerek kullanabiliriz.</p>
<h1>Proje Dosyasının İçine Bakalım</h1>
<p>Hızlı bir şekilde uygulama geliştirme işine giren pek çok yazılımcı çoğunlukla <strong>MSBuild </strong>gibi programların ürettiği çıktıları göz ardı etmektedir. Nasıl olsa binlerce dolar verilerek satın alınan <strong>Visual Studio </strong>bizim yerimize pek güzel bu işi halletmektedir. Ancak gerçek hayatta öyle vakalar ve senaryolara vuku bulmaktadır ki, bunların üstesinden gelebilmek için özelleştirmelere gidilmesi şart olmaktadır. Bu özelleştirme konsepti <strong>MSBuild </strong>tarafı için de geçerlidir. Bu sebepten proje dosyalarının içeriğinin az da olsa bilinmesi en azından şema yapısının anlaşılması yararlıdır. Tipik olarak bir <strong>Console </strong>uygulaması dahi açsak, üretilen proje dosyası içerisinde<em>(ki örneğimiz <strong>csproj </strong>uzantılı olandır)</em> aşağıdakine benzer bir içerik oluştuğu görülecektir.</p>
<pre class="brush:xml;auto-links:false;toolbar:false" contenteditable="false"><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{21E86FBF-5A78-4175-8522-A6FC854BB637}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ConsoleApplication33</RootNamespace>
<AssemblyName>ConsoleApplication33</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project></pre>
<p>Bu <strong>XML</strong> içeriğinin şema yapısına bakıldığında aşağıdaki grafikte görülen iskeletin söz konusu olduğu görülecektir.</p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_2.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_2" src="/pics/msbuild_2_thumb.png" alt="msbuild_2" width="331" height="595" /></a></p>
<p>Aslında içerik okunduğunda, <strong>Visual Studio</strong> <strong>Proje</strong> <strong>Özelliklerinden</strong> de ayarladığımız pek çok öğenin buraya yazıldığı görülebilir. Örneğin <strong>PropertyGroup</strong> elementlerinde <strong>Debug</strong>, <strong>Debug-Any CPU</strong> ve <strong>Release-Any CPU</strong> için bazı atamalar söz konusudur.</p>
<p><strong>Debug</strong> ile alakalı <strong>PropertyGroup</strong>’ a bakıldığında uygulamanın vereceği çıktının <strong>exe</strong> olacağı,<strong> .Net</strong> <strong>Framework 4.5</strong> platformunu hedef aldığı, <strong>Assembly</strong> adının <strong>ConsoleApplication33</strong> olduğu ve buna bağlı olarak da <strong>Root</strong> <strong>Namespace’</strong> in yine <strong>ConsoleApplication33</strong> şeklinde set edildiği görülebilir. <strong>Condition</strong> niteliklerinde belirtilen kısımlar, <strong>MSBuild</strong> uygulamasına bazı kriterlere göre nasıl çıktı üretmesi gerektiğini de söylemektedir. Örneğin uygulama <strong>Release</strong> modda inşa edildiğinde, çıktının<strong> bin\Release</strong> klasörüne doğru yapılması gerektiği yine bir <strong>PropertyGroup</strong> içerisinde ifade edilmiştir.</p>
<blockquote>
<p>Condition niteliklerinde kullanılan $ notasyonu mutlaka dikkatinizi çekmiştir. Aslında burada $[PropertyName] şeklinde bir kullanım söz konusudur. Burada inanılmaz geniş bir esneklik vardır.</p>
<p>Örneğin $(registery:Hive\SomeKey\SomeSubKey@Value) gibi bir ifade ile Registery’ deki bir değeri okuyabilir ve Build içerisinde kullanabiliriz. Ya da $([System.DateTime]::Now.ToString("yyyy.MM.dd")) gibi bir kullanım ile o anki zamanı istediğimiz formatta elde edebiliriz vb…</p>
<p>[PropertyName] yerine gelecek MSBuild özelliklerinin neler olabileceğini <a href="http://msdn.microsoft.com/en-us/library/ms171458.aspx">MSDN adresinden</a> öğrenebilirsiniz.</p>
</blockquote>
<p><strong>ItemGroup</strong> elementleri içerisine bakıldığında, uygulamanın referans ettiği diğer <strong>Assembly’</strong> ların adları, <strong>Compile</strong> işlemi sırasında derlemeye tabi olacak <strong>C#</strong> dosyaları gibi bilgiler yer almaktadır. <strong>Visual Studio’</strong> nun ürettiği <strong>XML</strong> içeriğine bakıldığında, son kısımda yorum satırları içerisine dahil edilmiş <strong>Target</strong> isimli bir element daha olduğu görülmektedir. Bu elementi kullanarak <strong>MSBuild</strong> için bazı <strong>Task’</strong> lar tanımlanabilir ve inşa işlemi sırasında devreye girmeleri sağlanabilir.</p>
<p><strong>Task</strong> olarak yapılan tanımlamalar paylaşılabilir ve farklı geliştirme <strong>Build’</strong> larında da kullanılabilir. Bu yüzden bir yazılım evinin <strong>Build</strong> işlemlerinde standart olarak gerçekleştirdiği bazı yürütmeler, <strong>Task</strong> olarak tanımlanıp ilgili <strong>Build</strong> paketlerine gömülebilir. Ayrıca <strong>Task’</strong> lar <strong>Reusable</strong> özelliği taşımaktadır. <em>(<strong>Target</strong> elementleri genellikle yazıldıkları sırada çalışmaktadır. Yani belirli bir sırada icra edilmesi istenen <strong>Task’</strong> lar var ise, <strong>Target</strong> elementinin buna uygun olacak şekilde kullanılması gerekir)</em></p>
<blockquote>
<p>Schema yapısı bu kadar basit değildir. Kullanılabilecek tüm elementler için <a href="http://msdn.microsoft.com/en-us/library/5dy88c2e.aspx">MSDN üzerindeki şu adrese gitmenizi</a> öneririm.</p>
</blockquote>
<h1>Klavye Başına</h1>
<p>Yazımızın bu bölümünde basit bir örnek geliştirmeye çalışıyor olacağız. Amacımız temel seviyede <strong>MSBuild</strong> aracını kullanmak ve konsepti anlamaya çalışmak olacaktır. İlk olarak basit bir <strong>C#</strong> koduna ihtiyacımız var. Bu amaçla örneğin <strong>C:\Samples\HowToMSBuild\</strong> isimli klasör altında, aşağıdaki içeriğe sahip bir <strong>C#</strong> dosyası oluşturduğumuzu düşünelim.</p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_3.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_3" src="/pics/msbuild_3_thumb.png" alt="msbuild_3" width="596" height="451" /></a></p>
<p>Bu adımdan sonra yine <strong>Notepad2</strong> aracını kullanarak aşağıdaki içeriğe sahip bir <strong>csproj</strong> dosyası üreterek devam edelim.</p>
<pre class="brush:xml;auto-links:false;toolbar:false" contenteditable="false"><Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Include="MSBuildHowTo.cs" />
</ItemGroup>
<Target Name="Build">
<Csc Sources="@(Compile)"/>
</Target>
</Project></pre>
<p><strong>Project</strong> içerisinde bir adet <strong>ItemGroup</strong> ve <strong>Target</strong> elementi yer almaktadır. <strong>ItemGroup</strong> içerisinde yer alan <strong>Compile</strong> elementi, <strong>Include</strong> <strong>niteliğinde<em>(attribute)</em></strong>, derleme işlemine tabi olacak dosyayı belirtmektedir. <strong>Target</strong> altındaki <strong>Csc</strong> elementinin <strong>Sources</strong> niteliğinde ise <strong>Compile</strong> isimli bir komut yer almaktadır. Dolayısıyla bu <strong>Task</strong>, <strong>MSBuild</strong> aracına, <strong>Compile</strong> elementine dahil edilen dosyanın derlenmesi gerektiğini söylemektedir.</p>
<p>Bu içeriği <strong>Builder.csproj</strong> adı ile kaydettikten sonra ise sıradaki operasyon, <strong>MSBuild</strong> komut satırı aracını kullanarak inşa işlemini yürüttürmektir. Bunun için <strong>MSBuild’</strong> u aşağıdaki gibi kullanabiliriz.</p>
<p><strong>msbuild Builder.csproj /t: Build /verbosity: detailed</strong></p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_5.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_5" src="/pics/msbuild_5_thumb.png" alt="msbuild_5" width="642" height="698" /></a></p>
<p>Görüldüğü gibi çalışma sonrasında <strong>MSBuildHowTo</strong> isimli bir <strong>exe</strong> dosyası oluşmuştur. Söz konusu <strong>exe</strong> dosyasını doğrudan çalıştırdığımızda ise, <strong>pre-precessor</strong> direktifi dışında kalan kod parçasının yürütüldüğü gözlemlenecektir.</p>
<blockquote>
<p>MSBuild özellikle kurulu olan .Net Framework versiyonuna bağlı olaraktan Microsoft.Net\Framework\vX.X.XXXXX altında yer almaktadır. Örneğin ben kendi sistemimde aşağıdaki klasörde yer alan sürümü kullandım.</p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_4.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_4" src="/pics/msbuild_4_thumb.png" alt="msbuild_4" width="374" height="171" /></a></p>
<p>Bunu sistem’ de Path olarak belirtebiliriz ama dilerseniz doğrudan Visual Studio Command Prompt’ tan da yararlanabiliriz.</p>
</blockquote>
<h1>CSPROJ İçeriğini Genişletelim</h1>
<p>Şimdi <strong>csproj</strong> dosyasının içeriğini biraz daha genişletelim ve aşağıdaki hale getirelim.</p>
<pre class="brush:xml;auto-links:false;toolbar:false" contenteditable="false"><Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyName>MSBuildHowTo</AssemblyName>
<OutputPath>Bin\</OutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="MSBuildHowTo.cs" />
</ItemGroup>
<Target Name="Build">
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />
<Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />
</Target>
</Project></pre>
<p>Bu sefer <strong>PropertyGroup</strong> içerisinde <strong>assembly</strong> adını<em><strong>(AssemblyName elementi)</strong></em> ve <strong>build</strong> işlemi sonrası ortaya çıkacak olan çıktının konuşlandırılacağı klasörü de belirttik<em><strong>(OutputPath)</strong></em>. Diğer yandan bu örneğimizde yer alan en önemli kısım <strong>Build </strong>isimli <strong>Target</strong> elementinin içeriğidir. Dikkat edilecek olursa ilk sırada <strong>MakeDir</strong> isimli element yer almaktadır. Burada <strong>$(OutputPath) </strong>ile çıktının yapılacağı klasör işaretlenirken aslında <strong>PropertyGroup>OutputPath </strong>elementinin içeriği ifade edilmektedir. Önemli olan kısım ise <strong>Condition</strong> niteliğinde yazılan değerdir. <strong>!Exists(‘$(OutputPath)’)</strong> ifadesi ile şu söylenmektedir. <strong>“OutputPath yoksa…”</strong>. Buna göre eğer <strong>Condition</strong> sağlanırsa, <strong>MakeDir</strong> <strong>OutputPath</strong>’ in oluşturulması gerektiğini belirtecektir.</p>
<p><strong>Csc</strong> elementinde ise derleme işlemi için kullanılacak olan kaynak <strong>Sources</strong> elementi ile ifade edilirken, aslında <strong>ItemGroup</strong> içerisindeki <strong>Compile</strong> elementinde yer alan <strong>Include</strong> niteliğinin değeri işaret edilmektedir. <strong>OutputAssembly</strong> niteliğine atanan değer ise, <strong>OutputhPath</strong> özelliğinin belirttiği klasörün altına <strong>AssemblyName’</strong> in işaret ettiği isimle bir <strong>exe</strong> üretilmesi gerektiğini belirtmektedir. Buna göre komut satırından yapılan <strong>MSBuild</strong> çağrısı sonucu aşağıdaki gibi olacaktır.</p>
<p><strong>msbuild Builder.csproj /t: Build /verbosity: detailed</strong></p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_6.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_6" src="/pics/msbuild_6_thumb.png" alt="msbuild_6" width="639" height="782" /></a></p>
<p>Oldukça zevkli öyle değil mi? <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="/pics/wlEmoticon-smile_91.png" alt="Smile" /></p>
<h1>Target Belirtmek</h1>
<p>Öyleyse gelin olayı biraz daha genişleterek devam edelim.</p>
<pre class="brush:xml;auto-links:false;toolbar:false" contenteditable="false"><Project DefaultTargets="Build" xmlns=" http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyName>MSBuildHowTo</AssemblyName>
<OutputPath>Bin\</OutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="MSBuildHowTo.cs" />
</ItemGroup>
<Target Name="Build">
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />
<Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" />
</Target>
<Target Name="Clean" >
<Delete Files="$(OutputPath)$(AssemblyName).exe" />
</Target>
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
</Project></pre>
<p>Bu seferki çalışmada <strong>3 adet</strong> <strong>Target</strong> elementi söz konusudur. Ancak her birinin <strong>Name</strong> niteliğinin değerleri farklıdır. Buna göre, <strong>Build, Clean</strong> ve <strong>Rebuild</strong> isimli <strong>Target’</strong> lar olduğunu ve aslında bunların <strong>3 ayrı Task</strong>’ ı ifade ettiğini düşünebiliriz. Yani <strong>MSBuild</strong> aracını kullanırken <strong>/t: [TargetNameValue]</strong> şeklinde bir yaklaşım ile, istediğimiz <strong>Target’</strong> ın yürütülmesini sağlayabiliriz. Söz gelimi;</p>
<p><strong>msbuild Builder.csproj /t: Clean /verbosity: detailed</strong></p>
<p>şeklinde yapılan çağrı sonucunda, proje dosyasındaki <strong>Target</strong> elementlerinden <strong>Clean</strong> isimli olanı çalıştırılacaktır. Bu elementte ise <strong>Delete</strong> isimli bir alt element yer almakta olup <strong>Files</strong> niteliğinde belirtilen kritere göre, <strong>Bin</strong> klasöre altında <strong>assembly</strong> adı ile duran <strong>exe</strong> dosyasının silinmesi gerektiği ifade edilmektedir.</p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_7.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_7" src="/pics/msbuild_7_thumb.png" alt="msbuild_7" width="638" height="547" /></a></p>
<p>Eğer <strong>Rebuild</strong> takısını kullanırsak bu durumda <strong>Target->Name</strong> niteliği <strong>Rebuild</strong> olan bölüm devreye girecektir. Bu vakada dikkat edilmesi gereken ise <strong>DependsOnTargets</strong> niteliği içerisinde yazılan <strong>Clean;Build</strong> ifadesidir. Yani şunu ifade etmiş oluruz;</p>
<blockquote>
<p><strong>Ey MSBuild!…Önce Clean isimli Target, sonrasında ise Build isimli Target içeriğini icra et</strong></p>
</blockquote>
<p>ki bu durumda <strong>Bin</strong> klasörü içeriği silinecek ve tekrardan bir derleme işlemi yapılarak, orada ilgili <strong>exe</strong> çıktısının üretilmesi sağlanacaktır.</p>
<p><strong>msbuild Builder.csproj /t: Rebuild /verbosity: detailed</strong></p>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_8.png"><img style="margin: 4px 0px; display: inline;" title="msbuild_8" src="/pics/msbuild_8_thumb.png" alt="msbuild_8" width="638" height="785" /></a></p>
<p>Örnekler daha da çoğaltılabilir. Yapılabilecek pek çok şey var <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style: none;" src="/pics/wlEmoticon-winkingsmile_189.png" alt="Winking smile" /> Bunun için mutlaka <strong>MSDN</strong> orjinli bir kaynağa başvurmanızı veya yazımızın sonunda belirttiğimiz tarzdaki bir kitabı tedarik etmenizi öneririm. Ancak temel mantığı ifade edebildiğimizi varsayıyorum. Bundan sonrasında <strong>Condition’</strong> lara ve kullanılabilecek <strong>element/attribute</strong> tiplerine bakılması yeterli olur düşüncesindeyim.</p>
<h1>.Net Framework 4.5 ile Gelen Yenilikler</h1>
<p><strong>MSBuild</strong> ürününe <strong>Framework 4.5</strong> sürümü ile birlikte bazı geliştirmeler ve yeni özellikler de katılmıştır. Henüz inceleme fırsatı bulamadığım bu özellikleri aşağıdaki maddeler ile özetleyebiliriz.</p>
<ul>
<li><strong>ARM<em>(Advanced RISC Machine)</em></strong> desteği gelmiştir. Yani <strong>Build</strong> çıktıları <strong>ARM</strong> işlemcilerini hedef alacak şekilde üretilebilir.</li>
<li>Bir <strong>Task</strong><em> (Target elementi ile belirtilen bir görev diyelim)</em> süreç dışı<em><strong>(Out of Process)</strong></em> modda çalışmaya zorlanabilir.</li>
<li>Yeni bazı <strong>XML</strong> <strong>element</strong> ve <strong>nitelikleri<em>(Attributes)</em></strong> gelmiştir.</li>
<li>Klasik bir cümle olacak ama, <strong>Performans<em>(Performance)</em></strong> ve <strong>Ölçeklendirme<em>(Scabilitiy)</em></strong> noktasında iyileştirmeler vardır <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="/pics/wlEmoticon-smile_91.png" alt="Smile" /></li>
</ul>
<blockquote>
<p>MSBuild’ un etkili kullanımı üzerine geliştirilmiş bazı araçlar da vardır. Görsel arabirimleri olan bu araçlar yardımıyla MSBuild akışlarını daha kolay yönetebiliriz. Attrice firmasının bu alanda ön plana çıkan <a href="http://www.attrice.info/msbuild/index.htm">Microsoft Build Sidekick</a> isimli ürünü gibi.</p>
</blockquote>
<h1>Öneri Kitap</h1>
<p><a href="https://www.buraksenyurt.com/pics/msbuild_1.jpg"><img style="float: left; margin: 4px 0px; display: inline;" title="msbuild_1" src="/pics/msbuild_1_thumb.jpg" alt="msbuild_1" width="129" height="160" align="left" /></a><strong>Microsoft</strong>’ un <strong>Visual Studio</strong> ailesi ve geliştirme platformu oldukça geniş bir alana yayılmakta olup, pek çok notkasında uzmanlık gerektiren yapılar içermektedir. Bu sebepten söz konusu yapılara yönelik pek çok yayın da<em>(kitap, official site, blog vb) </em>mevcuttur.</p>
<p>Örneğin <strong>MSBuild</strong> tarafında daha önceden yayınlanmış olan <strong>Inside The Microsoft Build Engine</strong> isimli kitabın <strong>Nisan </strong>ayı içerisinde yayınlanan yeni bir tamamlayıcı baskısı mevcuttur. Yaklaşık olarak 120 sayfalık bir kitap olmasına rağmen odaklandığı konu özünde <strong>MSBuild </strong>ürünüdür. Kitaba <a href="http://www.amazon.com/Supplement-Inside-Microsoft%C2%AE-Build-Engine/dp/0735678162/ref=sr_1_1?s=books&ie=UTF8&qid=1361775657&sr=1-1&keywords=msbuild">Amazon üzerinden bu adres yardımıyla</a> erişebilirsiniz.</p>
<p>Böylece geldik bir yazımızın daha sonuna. Bu yazımızda kısada olsa, <strong>MSBuild</strong> platformunu ve <strong>XML</strong> tarafındaki <strong>betikleri<em>(Scripts)</em></strong> anlamaya çalıştık. Ağırlıklı olarak bir inşa sürecine müdahale edebildiğimizi, bunun için platformun sunduğu bazı standart element ve niteliklerin olduğunu gördük. Devamı sizde artık <img class="wlEmoticon wlEmoticon-smile" style="border-style: none;" src="/pics/wlEmoticon-smile_91.png" alt="Smile" /> Bir başka yazımızda görüşünceye dek hepinize mutlu günler dilerim.</p>
<p><span style="color: #ff0000;">[Orjinal Yazım Tarihi – 25/02/2013]</span></p>
<p><a href="http://blogs.msdn.com/b/visualstudio/archive/2013/07/24/msbuild-is-now-part-of-visual-studio.aspx" target="_blank"><span style="color: #ff0000;">[Güncel bilgi –> MS Build is now part of Visual Studio!]</span></a></p>2013-08-01T07:47:00+00:00microsoft build enginebuildcompilexmlproject filecommand promptvisual studioplatformteam foundation buildbuild serverbuild servicec#c# projectproject propertiesbsenyurtMicrosoft Build Engine aslında başlı başına bir platformdur. Kısaca MSBuild olarak anılmaktadır ve bir uygulamanın inşa edilmesi noktasında devreye giren XML(eXtensible Markup Language) tabanlı bir Script bütününü esas alır. Kısacası uygulamanın inşa edilmesi sırasındaki aşamalar XML tabanlı bir akış olarak ifade edilebilmektedir. MSBuild platformunun en önemli özelliği ise, inşa sürecinde Visual Studio gibi bir araca ihtiyaç duymuyor oluşudur...https://www.buraksenyurt.com/pingback.axdhttps://www.buraksenyurt.com/post.aspx?id=5e3559b5-233e-4292-a01a-fdf89d0ecdb65https://www.buraksenyurt.com/trackback.axd?id=5e3559b5-233e-4292-a01a-fdf89d0ecdb6https://www.buraksenyurt.com/post/Nedir-Bu-MSBuild#commenthttps://www.buraksenyurt.com/syndication.axd?post=5e3559b5-233e-4292-a01a-fdf89d0ecdb6https://www.buraksenyurt.com/post/Visual-Studio-2012-icin-Entity-Framework-YenilikleriVisual Studio 2012 için Entity Framework Yenilikleri2013-02-13T01:18:00+00:00bsenyurt<p><a href="https://www.buraksenyurt.com/pics/Delphi5_RTM.jpg"><img style="background-image: none; margin: 4px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="Delphi5_RTM" src="/pics/Delphi5_RTM_thumb.jpg" alt="Delphi5_RTM" width="240" height="194" align="right" border="0" /></a>Merhaba Arkadaşlar,</p>
<p>Çok eskiden kullanılan programlama dilleri ve platformları düşünüldüğünde çok ilkel<strong> IDE’</strong> ler ile çalışmış olduğumuzu görmekteyiz. Hatta bazı programlama dilleri ile yapılan geliştirmelerde değil <strong>IDE</strong>, komut satırına mahkum olmuşuzdur(<em>Gerçi komut satırında script yazarak geliştirme yapmak özellikle fonksiyonel programlama dilleri göz önüne alınırsa oldukça popüler ve isabetlidir)</em></p>
<p>Gelişen sistemler, kullanıcı deneyimleri ve görselliklerin artması ile de yazılımcıların daha profesyonel olan <strong>IDE</strong>’ ler üzerinde çalışması şart olmuştur.</p>
<p>Bu anlamda tarihin belki en başarılı geliştirme arayüzlerinden birisi, herkesin bildiği üzere <strong>Delphi</strong> ortamıdır. Ne varki o zaman ki <strong>Borland</strong> firmasının sahip olduğu bu özellik, <strong>Anders Heijslberg</strong>’ in <strong>Microsoft</strong> takımına geçmesi ile birlikte yerini<strong> Visual Studio</strong> ailesine bırakmıştır. <strong>Anders</strong> sadece <strong>.Net Framework</strong> plaformu ve <strong>C#</strong> diline babalık etmemiş önemli bir <strong>User</strong> <strong>Experience</strong> tecrübesini de <strong>Microsoft </strong>şirketine taşımıştır. <strong>Visual Studio</strong> özellikle <strong>2008</strong> sürümünden itibaren inanılmaz derecede gelişti ve gelişmeye de devam ediyor.</p>
<p>Bu IDE ile çalışmak hem çok keyifli, hem de tek bir ortam üzerinden çok geniş bir yelpazeye ulaşılabilmekte. Açıkçası <strong>IDE</strong> dışına çıkmadan herşeyin elinizin altında olduğu bir geliştirme ortamında çalışmanın değeri paha biçilemez…Gerisi için <strong>Master Card</strong> <img class="wlEmoticon wlEmoticon-smilewithtongueout" style="border-style: none;" src="/pics/wlEmoticon-smilewithtongueout_7.png" alt="Smile with tongue out" /></p>
<p><strong>Entity Framework</strong> bilindiği üzere son sürümlerinden itibaren çok daha fazla etkili olmaya başladı. Bu noktada <strong>Ado.Net</strong> geliştirici takımının müşteri ihtiyaçlarını da çeşitli anketler yardımıyla dinliyor olmasının önemi büyüktür. Örneğin uzun bir zaman anketin en üst sıralarında yer alan Enum desteğinin getirilmesi gibi. <em>(Bu amaçla açılan </em><a href="http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/filters/new" target="_blank"><em>Entity Framework Feature Suggestions</em></a><em> forumunu takip etmenizi öneririm)</em></p>
<p>Biz bu yazımızda <strong>Entity Framework</strong>’ ün <strong>Visual Studio 2012</strong> tarafındaki <span style="text-decoration: underline;">bazı </span>yeniliklerine değinmeye çalışıyor olacağız<em>(Bazı diyorum çünkü yazıyı yazdığım sırada yeni bir update çıkmış da olabilir. Lütfen kontrol ediniz ve takipte kalınız)</em>Haydi gelin hiç vakit kaybetmeden işe başlayalım.</p>
<h2><strong>Enum Desteği</strong></h2>
<p><strong>Enum</strong> tipi için <strong>Entity Framework</strong> tarafındaki desteği epeyce bekledik aslında. Bu desteğin gelmesi ile birlikte elbetteki<strong> Visual Studio 2012 IDE’</strong> si de gerekli kolaylığı göstermekte. <strong>Model</strong> içerisine yeni bir <strong>Enum</strong> tipi eklenmek istendiğinde tek yapılması gereken, diagram üzerinden <strong>Add New –> Enum Type</strong> seçeneğini işaretlemek.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_6.png"><img style="margin: 4px 0px; display: inline;" title="vsef_6" src="/pics/vsef_6_thumb.png" alt="vsef_6" width="501" height="359" /></a></p>
<p>Bu işlemin ardından çıkan iletişim penceresinden, <strong>Enum</strong> tipine ait sabit değerleri girilir. Örneğin aşağıdaki şekilde görüldüğü üzere ülkeleri kullanabiliriz.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_7.png"><img style="margin: 4px 0px; display: inline;" title="vsef_7" src="/pics/vsef_7_thumb.png" alt="vsef_7" width="450" height="575" /></a></p>
<p>İstenirse harici bir <strong>assembly/isim alanı</strong> içerisinde yer alan <strong>Enum</strong> tiplerinin kullanılması da mümkündür. Bunun için <strong>Reference</strong> <strong>external</strong> <strong>type</strong> seçeneğinin etkinleştirilmesi ve <strong>[Namespace].[EnumTypeName]</strong> formatında ilgili tip adının girilmesi yeterlidir. <strong>Enum</strong> tipi oluşturulduktan sonra <strong>Model Browser</strong> penceresinde yer alan <strong>Enum Types</strong> kısmında görülecektir.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_8.png"><img style="margin: 4px 0px; display: inline;" title="vsef_8" src="/pics/vsef_8_thumb.png" alt="vsef_8" width="250" height="318" /></a></p>
<p><strong>Enum</strong> tipleri için <strong>Designer</strong> tarafında bir destek yoktur<em>(Şimdilik)</em> ama bu pek de gerekli olmayabilir. <strong>Enum</strong> tipleri sonuç itibariyle sabitlerini sayısal olarak ifade etmektedir. Bu açıdan bakıldığında, bir <strong>Entity</strong> tip özelliğinin sayısal değerinin karşılığı olarak ilgili <strong>Enum</strong> sabitlerinin kullanılabilmesi de mümkündür. Örneğin <strong>Employee</strong> isimli bir <strong>Entity</strong>’ nin <strong>EmployeeCountry</strong> isimli <strong>int</strong> tipinden bir özelliğinin<em>(Veritabanı tablosunda da bunun karşılığı alanın olduğunu varsayıyoruz)</em> bulunduğunu düşünelim. Bu özelliği <strong>Country</strong> isimli <strong>Enum</strong> sabiti ile aşağıdaki şekilde görüldüğü üzere eşleştirebilir ve artık kod içerisinde yer <strong>LINQ</strong> sorgularında sayısal değer yerine <strong>Enum</strong> sabitlerini kullanabiliriz.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_9.png"><img style="margin: 4px 0px; display: inline;" title="vsef_9" src="/pics/vsef_9_thumb.png" alt="vsef_9" width="469" height="575" /></a></p>
<h2><strong>Kalabalık Diagramlardan Kurtulduk</strong></h2>
<p><strong>Entity</strong> sayısının model üzerinde artması sonucu oluşan görsel kullanım güçlüğünü engellemenin yollarından birisi de, diagramları bölümlemektir. Bunun şu an için kullanışlı olan iki farklı tekniği mevcuttur.</p>
<blockquote>
<p>Model Diagramın bölümlenmesinin sebeplerininin başında, kalabalık ve takibi zor olan, çok sayıda Entity içeren modeller yer almaktadır. Ancak tek sebep bu değildir. N sayıda Entity içeren bir model’ de sadece bir kaç Entity ile çalışıldığı durumlarda, bu senaryoya konu olan objeleri kolayca takip edebilme ihtiyacı da nedenler arasında gösterilebilir.</p>
</blockquote>
<h3><strong>Diagram Bölümleme (Move Metodu ile)</strong></h3>
<p>Bu teknikte <strong>Model</strong> üzerinden başka bir diagrama alınmak istenen <strong>Entity’</strong> ler seçilir ve <strong>Move to new diagram</strong> ile taşınması sağlanır. Örneğin <strong>Northwind</strong> veritabanı için üretilen model’ de yer alan bir kaç <strong>Entity</strong> objesini seçip, sağ tıklama sonrası açılan menüden <strong>Move to new diagram</strong> seçeneğini işaretleyerek söz konusu bölümlemeyi gerçekleştirebiliriz.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_3.png"><img style="margin: 4px 0px; display: inline;" title="vsef_3" src="/pics/vsef_3_thumb.png" alt="vsef_3" width="545" height="517" /></a></p>
<p>Bu işlem sonucunda seçilen <strong>Entity</strong> objeleri yeni bir diagrama alınacak ve bu değişiklik <strong>Model</strong> <strong>Browser</strong> penceresinden de izlenebilecektir. Aşağıdaki çıktıda görüldüğü gibi.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_4.png"><img style="margin: 4px 0px; display: inline;" title="vsef_4" src="/pics/vsef_4_thumb.png" alt="vsef_4" width="616" height="645" /></a></p>
<p>Bu teknikte dikkat edilmesi gereken en önemli nokta gerçek anlamda bir <strong>Move</strong> işlemi yapılmasıdır. Yani, taşınan <strong>Entity</strong> objeleri aslında kaynak diagram üzerinden silinirler. Eğer bu istenmiyorsa takip eden teknikten yararlanılabilir.</p>
<blockquote>
<p>Farklı sayıda diagram kullanıldığı durumlarda bunları anlamlı şekilde isimlendirmekte önemlidir. <strong>AdventureWorks</strong> gibi veritabanlarını düşündüğümüzde, tabloların <strong>şema(schema)</strong> bazlı olarak tutulduklarını ve <strong>domain</strong> olarak ayrıştırıldıklarını görürüz.</p>
<p>Buna göre her <strong>domain</strong> için ayrı bir diagram oluşturmak, görsellik ve takip edilebilirlik açısından oldukça yararlı olabilir. Böyle bir vakada, parçalanan ana modele ait diagramları yine veritabanında olduğu gibi şema adları ile tutmak mantıklı olacaktır.</p>
</blockquote>
<h3><strong>Diagram Bölümleme (Model Browser üzerinden)</strong></h3>
<p><strong>Model Browser</strong>, <strong>Entity</strong> diagramlarının yönetilebildiği etkili dialog pencerelerinden birisidir. İstenirse bir modelin bölümlenerek farklı diagramlara taşınması/kopyalanması işlemi buradan da gerçekleştirilebilir. Bunun için öncelikli olarak <strong>Model Browser’</strong> a yeni bir diagram ilave edilir.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_5.png"><img style="margin: 4px 0px; display: inline;" title="vsef_5" src="/pics/vsef_5_thumb.png" alt="vsef_5" width="352" height="266" /></a></p>
<p>Yeni bir diagram oluşturulduktan sonra yine <strong>Model Browser</strong> içerisinde yer alan <strong>Entity’</strong> leri boş alana sürükleyerek söz konusu işlemi gerçekleştirebiliriz. Burada ne yazık ki bir diagramın içindeki öğeyi seçip başka bir diagrama sürükleme işlemi söz konusu değildir<em>(En azından kullandığım Visual Studio 2012 sürümü için bu geçerli değildi)</em> Bunun yerine örneğin <strong>NorthwindModel</strong> ismiyle duran öğe altından sürükleme işlemlerinin yapılması gerekmektedir.</p>
<blockquote>
<p>Diagram bölümleme aslında görsel bir ayrıştırma anlamına gelmektedir. Bir başka deyişle diagram bazlı yapılan taşıma, kopyalama gibi işlemler modelin tip yapısını bozmaz.</p>
</blockquote>
<h3><strong>Daha Renkli Bir Diagram</strong></h3>
<p>Malum pek çok veritabanı sistemi<em>(özellikle Relational olanlar ve Enterprise çözümlerde kullanılanlar)</em> oldukça fazla sayıda <strong>tablo, view</strong> ve <strong>Stored Procedure</strong> içermekte. Hal böyle olunca Entity modellerini içeren diagramların, <strong>Visual Studio IDE</strong> ortamında takip edilmesi de çok zor olabilmekte.</p>
<p>Diagramların bölünebilmesi özelliği haricinde <strong>Visual Studio 2012 </strong>ile gelen önemli özelliklerden birisi de, <strong>Entity </strong>objelerinin renklendirilebiliyor olması. Bu özellik sayesinde örneğin aynı isim alanına ait<em>(veya aynı domain içerisinde yer alması gereken)</em> <strong>Entity</strong>’ leri farklı şekillerde renklendirerek, diagramın hem göze daha hoş görünmesi sağlanabilmekte hem de algının daha da güçlendirilmesi mümkün olmakta. Bunun için bir kaç <strong>Entity</strong> objesini aynı anda seçip, özellikler penceresinden <strong>Fill Color</strong>’ ı set etmemiz yeterli olacaktır. Aşağıdaki ekran çıktısında bu kullanıma örnek bir görüntü yer almaktadır <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style: none;" src="/pics/wlEmoticon-winkingsmile_147.png" alt="Winking smile" /></p>
<p><em>Renkli TV Versiyonu</em></p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_1.png"><img style="margin: 4px 0px; display: inline;" title="vsef_1" src="/pics/vsef_1_thumb.png" alt="vsef_1" width="635" height="558" /></a></p>
<p><em>Sıkıcı Olan Siyah Beyaz TV Versiyonu</em></p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_2.png"><img style="margin: 4px 0px; display: inline;" title="vsef_2" src="/pics/vsef_2_thumb.png" alt="vsef_2" width="635" height="635" /></a></p>
<h2><strong>Birden Fazla Stored Procedure Seçerek Eklemek (Batch Insert)</strong></h2>
<p>Entity Framework bilindiği üzere veritabanı tarafındaki Stored Procedure’ leri birer fonksiyon olarak model tarafına almaktadır. Pek tabi Database First modelin kullanıldığı senaryolarda, Model üretilirken Stored Procedure’ lerden istenilenlerinin seçilerek de ilave edilmesi istenebilir. Visual Studio 2012’ de bunun için ek bir seçenek getirilmiştir.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_10.png"><img style="margin: 4px 0px; display: inline;" title="vsef_10" src="/pics/vsef_10_thumb.png" alt="vsef_10" width="536" height="512" /></a></p>
<p><strong>Entity Data Model Wizard</strong> üzerinde ilerlerken çıkan <strong>Import selected stored procedures and functions into the entity model</strong> seçeneği işaretlendiği takdirde, <strong>Stored</strong> <strong>Procedures</strong> <strong>and</strong> <strong>Functions</strong> kısmında seçilen yordamlar için gerekli fonksiyonların topluca üretildiği ve modele dahil edildiği görülecektir. Bu, <strong>Visual Studio 2010</strong> da yapılan t anında tek bir <strong>Stored Procedure’</strong> ü fonksiyonelleştirme aksiyonuna göre çok daha iyidir<em>(Add->Function Import)</em></p>
<h2><strong>Varsayılan Olarak DbContext Türevli Entity Model</strong></h2>
<p><strong>Code First Development</strong> yaklaşımının en önemli noktalarından birisi de <strong>POCO</strong><em>(Plain Old CLR Objects) </em>dışından <strong>DbContext </strong>türevli bir <strong>Context </strong>tipinin kullanılmasıdır. <strong>Visual Studio 2012 </strong>arabirimi <strong>Entity Model</strong>’ lerin üretilmesinde artık varsayılan olarak <strong>Entity Framework 5 DbContext T4 Template</strong>’ ini kullanmakta ve buna göre de üretilen <strong>entity</strong> <strong>context</strong> sınıfı <strong>DbContext</strong> türevli oluşturulmakta. Hatta, <strong>Entity</strong> sınıflarının da birer <strong>POCO</strong> tipi olarak üretildiğini görmekteyiz.</p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_12.png"><img style="margin: 4px 0px; display: inline;" title="vsef_12" src="/pics/vsef_12_thumb.png" alt="vsef_12" width="572" height="641" /></a></p>
<p>Bilindiği üzere <strong>Visual Studio 2010</strong> bu konuda <strong>ObjectContext</strong> türevli bir yaklaşımı benimsemektedir. Ancak <strong>Entity Framework</strong> takımın uygulama geliştiricilere önerisi <strong>DbContext</strong> türevli içerik tipini kullanmaları ve <strong>POCO</strong> sınıfları ile ilerlemeleri yönündedir.</p>
<h2><strong>Property Sıralaması</strong></h2>
<p><strong>Model</strong> diagramda yer alan <strong>Entity</strong> özellikleri varsayılan olarak veritabanındaki kolon sıralamasına göre gelmektedir. Ama istenirse bu özelliklerin sırası değiştirilebilir. Bunun için <strong>Alt+Yön Tuşu</strong> kombinasyonu kullanılabilir<em>(Örneğin Alt+Up ile özellik bir üste, Alt+Home ile en başa, Alt+End ile en sona geçer)</em> veya özellikler penceresinden aşağıdaki şekilde görüldüğü gibi ilerlenebilir. <em>(Visual Studio 2010 IDE’ sin de bu işlem için XML tarafına geçmek gerekirdi)</em></p>
<p><a href="https://www.buraksenyurt.com/pics/vsef_11.png"><img style="margin: 4px 0px; display: inline;" title="vsef_11" src="/pics/vsef_11_thumb.png" alt="vsef_11" width="638" height="511" /></a></p>
<p>Böylece geldik bir yazımızın daha sonuna. Bu yazımızda özellikle <strong>Visual Studio 2012</strong> ile <strong>Entity Framework</strong> tarafına gelen yenilikleri incelemeye çalıştık. Çok doğal olarak çeşitli <strong>Extension’</strong> lar yardımıyla <strong>Visual Studio 2012</strong> ortamındaki <strong>Entity Framework</strong> niteliklerini arttırmak mümkündür. Bu yazımızda, varsayılan olarak gelen kabiliyetlere bakmaya çalıştık. Tekrardan görüşünceye dek hepinize mutlu günler dilerim.</p>2013-02-13T01:18:00+00:00entity frameworkcode first developmententity framework 4.5visual studio 2012bsenyurtEntity Framework bilindiği üzere son sürümlerinden itibaren çok daha fazla etkili olmaya başladı. Bu noktada Ado.Net geliştirici takımının müşteri ihtiyaçlarını da çeşitli anketler yardımıyla dinliyor olmasının önemi büyüktür. Örneğin uzun bir zaman anketin en üst sıralarında yer alan Enum desteğinin getirilmesi gibi. (Bu amaçla açılan Entity Framework Feature Suggestions forumunu takip etmenizi öneririm)https://www.buraksenyurt.com/pingback.axdhttps://www.buraksenyurt.com/post.aspx?id=bc188d9c-a2d9-4142-b601-fb2db3c9e95d15https://www.buraksenyurt.com/trackback.axd?id=bc188d9c-a2d9-4142-b601-fb2db3c9e95dhttps://www.buraksenyurt.com/post/Visual-Studio-2012-icin-Entity-Framework-Yenilikleri#commenthttps://www.buraksenyurt.com/syndication.axd?post=bc188d9c-a2d9-4142-b601-fb2db3c9e95d