{"id":4606,"date":"2018-11-29T00:49:43","date_gmt":"2018-11-28T21:49:43","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=4606"},"modified":"2018-11-29T00:50:42","modified_gmt":"2018-11-28T21:50:42","slug":"asp-net-mvc-kurumsal-mimari","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2018\/11\/29\/asp-net-mvc-kurumsal-mimari\/","title":{"rendered":"Asp.NET MVC Kurumsal Mimari"},"content":{"rendered":"\n<p>MVC kurumsal yaz\u0131l\u0131mlar geli\u015ftirmek i\u00e7in olduk\u00e7a kabul g\u00f6rm\u00fc\u015ft\u00fcr.Bu teknoloji olu\u015fan yap\u0131y\u0131 en temelinden ele alarak en anla\u015f\u0131labilir&nbsp; ve kontrol edilebilir \u015fekilde incelenmesini geli\u015ftirilmesini ve y\u00f6netilmesini sa\u011flar.MVC yap\u0131s\u0131 model-view-controller olarak bilinir. Model data katman\u0131 view son kullan\u0131c\u0131ya sunulan aray\u00fcz katman\u0131n\u0131 controller ise bu iki par\u00e7ac\u0131k aras\u0131ndaki ileti\u015fimi sa\u011flayarak as\u0131l i\u015fin yap\u0131ld\u0131\u011f\u0131 katman\u0131 olu\u015fturur. A\u015fa\u011f\u0131daki \u015femada mvc kurumsal mimarisi temellerini ve aralar\u0131ndaki ileti\u015fimi g\u00f6r\u00fcyoruz.<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"703\" height=\"480\" src=\"http:\/\/www.yazilimmutfagi.com\/wp-content\/uploads\/2018\/11\/mvc.png\" alt=\"\" class=\"wp-image-4607\" srcset=\"https:\/\/www.yazilimmutfagi.com\/wp-content\/uploads\/2018\/11\/mvc.png 703w, https:\/\/www.yazilimmutfagi.com\/wp-content\/uploads\/2018\/11\/mvc-300x205.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<p>Sunum katman\u0131 bu mimaride en \u00fcstte bulunur. Son kullan\u0131c\u0131 i\u00e7in sunulan di\u011fer katmanlar kontrol\u00fcnde olu\u015fturulan k\u0131s\u0131md\u0131r.windows&nbsp; form uygulamalar\u0131 , web applicationlar bunlara \u00f6rnek olabilir. En alt k\u0131s\u0131mda Data katman\u0131 bulunur. Oracle, MSSQL, MySQL bu k\u0131s\u0131mda&nbsp; kullan\u0131lan veritaban\u0131 \u00e7e\u015fitleridir.Data access layer katman\u0131 veri katman\u0131d\u0131r.Projelerde genellikle .dal uzant\u0131s\u0131yla kullan\u0131l\u0131r. Bu katman\u0131&nbsp; olu\u015ftururken ikiye b\u00f6l\u00fcyoruz.Biri object interface  ve  di\u011feri object concrete class. Concrete k\u0131sm\u0131m\u0131z bizim i\u00e7in de\u011fi\u015fkendir katman\u0131n somut k\u0131sm\u0131d\u0131r, interface k\u0131sm\u0131 ise  daha soyuttur. DAL&#8217;da ki metotlar\u0131m\u0131z interface&#8217;e gelecektir. \u0130\u015f katman\u0131 ise <br>bu iki katman aras\u0131ndaki ba\u011flant\u0131y\u0131 kurar.B\u00fct\u00fcn i\u015f y\u00fck\u00fc burdad\u0131r.Bu katmana Manager diyebiliriz. Interface layer\u0131m\u0131z ise interface yap\u0131lar\u0131yla tasarlan\u0131r.&nbsp;\u0130\u015f katman\u0131m\u0131zdaki metotlar interface&#8217;e gelecektir.Web API katman\u0131m\u0131z sayesinde ise geli\u015ftirdi\u011fimiz uygulaman\u0131n t\u00fcm kontrolerini<br>elimizde tutarak d\u0131\u015f d\u00fcnya ile ileti\u015fimini sa\u011flam\u0131\u015f oluyoruz. JSON veya XML tabanl\u0131 olarak HTTP \u00fczerinden RESTful servisler&nbsp; geli\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Bu mimaride b\u00fct\u00fcn katmanlarda ileti\u015fim halinde olan ve en \u00f6nemli lerinden diyebilece\u011fimiz bir di\u011fer katman entity layerd\u0131r. Bu katmanda Classlar\u0131m\u0131z vard\u0131r. Bu katmanda veri taban\u0131 ile nesneye y\u00f6nelik programlama aras\u0131ndaki&nbsp; ili\u015fki kurulur.&nbsp;Kurumsal mimarinin olmazsa olmaz par\u00e7alar\u0131 bu \u015fekilde.Projemize ekleyebilece\u011fimiz iste\u011fimize g\u00f6re \u00e7o\u011faltabilece\u011fimiz k\u0131s\u0131m ise Cross Cutting yani &#8216;\u00e7apraz kesi\u015fim&#8217;dir.Bu katmanda entity layer gibi mimariyi dikey olarak keser ve her katmanda vard\u0131r. Caching \u00f6n bellek y\u00f6netimidir.\u00d6rnek vermek gerekirse bir web projesi yapt\u0131k ve \u00e7ok de\u011fi\u015fmeyen ama \u00e7ok kullan\u0131lan tablolar\u0131m\u0131z var ve bu y\u00fczden performans s\u0131k\u0131nt\u0131s\u0131 \u00e7ekiyoruz.Bu gibi durumlarda her defas\u0131nda veri taban\u0131na eklemek yerine cache&#8217;e ekliyoruz.&nbsp;Exception hendlear hata y\u00f6netim k\u0131sm\u0131d\u0131r.Hatalar\u0131 yakalar ve ilgili yere bildirir.Bu katman sayesinde projeyi a\u00e7\u0131p her zaman test yapmaktan kurtuluyoruz.Validation ise do\u011frulama kontrold\u00fcr.Aray\u00fczdeki bir kontrol yada taraftaki bir validation nesnenin&nbsp; yada de\u011fi\u015fkenin do\u011frulamas\u0131d\u0131r.Son olarak&nbsp; Loggingde proje i\u00e7erisinde istedi\u011fimiz olaylar\u0131 loglamak i\u00e7in kullan\u0131l\u0131r. MVC kurumsal mimarisinin genel bir \u00f6zeti bu \u015fekildedir.&nbsp;<\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MVC kurumsal yaz\u0131l\u0131mlar geli\u015ftirmek i\u00e7in olduk\u00e7a kabul g\u00f6rm\u00fc\u015ft\u00fcr.Bu teknoloji olu\u015fan yap\u0131y\u0131 en temelinden ele alarak en anla\u015f\u0131labilir&nbsp; ve kontrol edilebilir \u015fekilde incelenmesini geli\u015ftirilmesini ve y\u00f6netilmesini sa\u011flar.MVC yap\u0131s\u0131 model-view-controller [&hellip;]<\/p>\n","protected":false},"author":563,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[407],"tags":[],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/4606"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/563"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=4606"}],"version-history":[{"count":8,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/4606\/revisions"}],"predecessor-version":[{"id":4615,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/4606\/revisions\/4615"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=4606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=4606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=4606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}