{"id":33606,"date":"2014-07-24T20:20:00","date_gmt":"2014-07-24T17:20:00","guid":{"rendered":"https:\/\/fatihboy.com\/?p=33606"},"modified":"2021-06-19T11:05:01","modified_gmt":"2021-06-19T08:05:01","slug":"ninject-gevsek-bagli-sistemler-modul","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/","title":{"rendered":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl"},"content":{"rendered":"<p>&nbsp;&nbsp; <a href=\"\/en\/ninject-giris\/\">\u00d6nceki makalem<\/a>le birlikte <b>Ninject<\/b>\u2019e yapt\u0131\u011f\u0131m\u0131z giri\u015f ard\u0131ndan Dependency Injection\u2019\u0131n hayat\u0131m\u0131z\u0131 ne kadar kolayla\u015ft\u0131rabildi\u011fini size \u00f6rnekleyebildi\u011fimi umar\u0131m. \u015eimdi s\u0131ra bunu bir ad\u0131m daha ileri ta\u015f\u0131makta. Dependency Injection konusu boyunca hedefimiz her zaman i\u00e7in olabildi\u011fince <b>gev\u015fek ba\u011fl\u0131 (loosely coupled)<\/b> bile\u015fenler ortaya koyabilmek olmal\u0131. Bu bak\u0131\u015f a\u00e7\u0131\u015f\u0131yla yaz\u0131 dizisi boyunca \u00f6rnek olarak kulland\u0131\u011f\u0131m uygulaman\u0131n a\u015fa\u011f\u0131daki main metoduna bir daha g\u00f6z atal\u0131m;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Program {\n    static void Main(string[] args) {\n        var ogrenci = new Ogrenci {\n            No = 12345,\n            Adi = \"Fatih\",\n            Soyadi = \"Boy\",\n            Bolum = \"Bilgisayar M\u00fchendisli\u011fi\"\n        };\n\n        IKernel kernel = new StandardKernel();\n\n        kernel.Bind&lt;IVeriDeposu>().To&lt;XmlDosyaVeriDesposu>();\n        kernel.Bind&lt;IGunlukDeposu>().To&lt;TextGunlukDeposu>();\n\n        var ogrenciIslemleri = kernel.Get&lt;OgrenciIslemleri>();\n\n        ogrenciIslemleri.OgrenciKaydet(ogrenci);\n    }\n}<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Burada <b>OgrenciIslemleri<\/b> s\u0131n\u0131f\u0131n\u0131n <em>XmlDosyaVeriDesposu<\/em> ve <em>TextGunlukDeposu<\/em> depolar\u0131yla do\u011frudan bir ba\u011flant\u0131s\u0131 olmad\u0131\u011f\u0131 olduk\u00e7a net. Bu noktada gev\u015fek ba\u011fl\u0131l\u0131k prensibine uyduk. \u00d6te yandan uygulamam\u0131z\u0131n <b>Main<\/b> fonksiyonu her iki t\u00fcrden haberdar ve bunlar\u0131 ilgili aray\u00fczlere ba\u011fl\u0131yor. Bu durumda bir ad\u0131m geri \u00e7ekilip uygulama geneline bakt\u0131\u011f\u0131m\u0131zda asl\u0131nda tam olarak bir gev\u015fek ba\u011fl\u0131l\u0131ktan s\u00f6z edebilmemiz m\u00fcmk\u00fcn de\u011fil. \u0130stedi\u011fimiz bir anda bu ba\u011f\u0131ml\u0131klar\u0131 yenileri ile de\u011fi\u015ftirebilmemiz i\u00e7in uygulama kodumuzu g\u00fcncelleyip yeniden derlememiz gerekli\u2026<\/p>\n\n\n\n<p>&nbsp;&nbsp; Bu tasar\u0131msal eksikli\u011fin \u00e7\u00f6z\u00fcm\u00fc ise kesinlikle t\u00fcr e\u015fle\u015ftirmelerinin tamamen uygulamam\u0131z d\u0131\u015f\u0131na ta\u015f\u0131nmas\u0131 olacakt\u0131r. Bu ihtiya\u00e7 Ninject\u2019in tasar\u0131m\u0131nda da g\u00f6z \u00f6n\u00fcne al\u0131narak <b>Mod\u00fcl<\/b> kavram\u0131 ortaya \u00e7\u0131km\u0131\u015ft\u0131r. Ninject i\u00e7in mod\u00fcl t\u00fcr ba\u011flamalar\u0131n\u0131n gruplar halinde yap\u0131ld\u0131\u011f\u0131 kod par\u00e7ac\u0131klar\u0131d\u0131r. Uygulaman\u0131z i\u00e7in bir mod\u00fcl olu\u015fturmak i\u00e7in yapman\u0131z gereken \u00f6ncelikle <b>INinjectModule<\/b> aray\u00fcz\u00fcn\u00fc implemente eden bir s\u0131n\u0131f olu\u015fturmak olmal\u0131d\u0131r. Hatta mod\u00fcl\u00fcn\u00fczde detaylarla u\u011fra\u015fmadan sadece t\u00fcrlerinizi ba\u011flamak amac\u0131ndaysan\u0131z a\u015fa\u011f\u0131daki \u00f6rnekte oldu\u011fu gibi do\u011frudan <b>NinjectModule<\/b> s\u0131n\u0131f\u0131ndan da t\u00fcretebilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class AnaModul : NinjectModule {\n    public override void Load() {\n        Bind&lt;IVeriDeposu>().To&lt;XmlDosyaVeriDesposu>();\n        Bind&lt;IGunlukDeposu>().To&lt;TextGunlukDeposu>();\n    }\n}<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Tabi AnaModul s\u0131n\u0131f\u0131n\u0131n uygulaman\u0131z d\u0131\u015f\u0131ndaki bir dll i\u00e7erisinde yer almas\u0131 yola \u00e7\u0131k\u0131\u015f noktas\u0131ndaki prensibimizi korumam\u0131z ad\u0131na \u00f6nemli. Bu i\u015flem ard\u0131ndan son ad\u0131m olarak mod\u00fcl\u00fcm\u00fczden Ninject \u00e7ekirde\u011fini haberdar etmeliyiz. Bunun i\u00e7in ilk ve en basit y\u00f6ntem a\u015fa\u011f\u0131daki \u015fekilde \u00e7ekirde\u011fi olu\u015ftururken mod\u00fcllerin parametre olarak \u00e7ekirde\u011fe ge\u00e7ilmesidir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IKernel kernel = new StandardKernel(new AnaModul());<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu y\u00f6ntemin dezavantaj\u0131; ana uygulamam\u0131z\u0131n derleme zaman\u0131nda mod\u00fcl\u00fcm\u00fczden haberdar olma zorunlulu\u011fudur. Bu durumda, ilk ba\u015ftaki tasar\u0131m\u0131m\u0131zdan daha iyi bir noktada olmakla beraber hen\u00fcz tam olarak gev\u015fek ba\u011fl\u0131 bir uygulama olu\u015fturabilmi\u015f de\u011filiz. Yapmam\u0131z gereken uygulamam\u0131z i\u00e7erisinde mod\u00fcl\u00fcm\u00fcz\u00fc dinamik y\u00fcklemek olmal\u0131. Bu durum i\u00e7in Ninject \u00e7ekirde\u011finde yer alan <b>Load<\/b> fonksyonunu kullanabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kernel.Load(\"*.dll\");<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Ninject, Load fonksiyonu ile uygulaman\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 klas\u00f6rde yer alan ve belirtilen kriterlere uygun olan t\u00fcm dll\u2019leri tarayarak i\u00e7lerinde yer alan mod\u00fclleri tespit edecektir. Daha sonra, tespit edilen bu mod\u00fcller otomatik olarak Ninject \u00e7ekirde\u011fi taraf\u0131ndan y\u00fcklenecektir. Bu noktada, size tavsiyem yukar\u0131daki gibi genel ge\u00e7er bir \u201c<em>t\u00fcm dll\u2019leri incele<\/em>\u201d \u015fablonu kullanmak yerine a\u015fa\u011f\u0131dakine benzer \u015fekilde se\u00e7enekleri azaltacak \u015fablonlar kullanman\u0131z;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kernel.Load(\"Com.Enterprisecoding.Moduller.*.dll\");<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Mod\u00fcl kullan\u0131m\u0131na bir ba\u015fka \u00f6rnek de Ninject eklentileridir. Ninject, <b>Ninject.Extensions.*.dll<\/b> ve <b>Ninject.Web*.dll<\/b> \u015fablonlar\u0131 ile kendi eklentilerine ait mod\u00fclleri otomatik y\u00fcklemektedir. Ninject, string \u015feklinde ald\u0131\u011f\u0131 mod\u00fcl assembly bilgisini ayn\u0131 zamanda <em>Assembly<\/em> t\u00fcr\u00fcnde de alabilmektedir. Bu sayede, \u00f6rne\u011fin a\u015fa\u011f\u0131daki \u015fekilde uygulama AppDomain\u2019inde y\u00fckl\u00fc t\u00fcm assembly\u2019lerin taranmas\u0131n\u0131 ve bulunan mod\u00fcllerin y\u00fcklenmesini sa\u011flayabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kernel.Load(AppDomain.CurrentDomain.GetAssemblies());<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu ad\u0131mlar ard\u0131ndan art\u0131k uygulamam\u0131z\u0131 tam anlam\u0131 ile gev\u015fek ba\u011fl\u0131 hale getirmi\u015f oluyoruz. Art\u0131k \u00f6rne\u011fin <em>Com.Enterprisecoding.Domain.WS.dll<\/em>\u2019i i\u00e7erisinde yer alan mod\u00fcl ile tan\u0131mlayaca\u011f\u0131m\u0131z t\u00fcr ba\u011flamalar\u0131 bize i\u015flemlerimizi web servisler \u00fczerinden yapmam\u0131z\u0131 sa\u011flarken, <em>Com.Enterprisecoding.Domain.Entity.dll<\/em>\u2019i sayesinde do\u011frudan Entity framework ile i\u015flem yapar duruma kolayl\u0131kla gelebiliriz. Bir ba\u015fka kullan\u0131m \u00f6rne\u011finde de <em>Com.Enterprisecoding.Domain.Oracle.dll<\/em>\u2019i ile uygulamam\u0131z Oracle veritaban\u0131 \u00fczerinde i\u015flem yapabiliyorken, <em>Com.Enterprisecoding.Domain.MsSql.dll<\/em>\u2019i ile MsSql server \u00fczerinde i\u015flem yapabilir. Asl\u0131nda, uygulaman\u0131n versiyonlanmas\u0131na var\u0131ncaya kadar bu \u00f6rnekleri \u00e7o\u011faltabilmemiz m\u00fcmk\u00fcn.<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; \u00d6nceki makalemle birlikte Ninject\u2019e yapt\u0131\u011f\u0131m\u0131z giri\u015f ard\u0131ndan Dependency Injection\u2019\u0131n hayat\u0131m\u0131z\u0131 ne kadar kolayla\u015ft\u0131rabildi\u011fini size \u00f6rnekleyebildi\u011fimi umar\u0131m. \u015eimdi s\u0131ra bunu bir ad\u0131m daha ileri ta\u015f\u0131makta. Dependency Injection konusu boyunca hedefimiz her zaman i\u00e7in olabildi\u011fince gev\u015fek ba\u011fl\u0131 (loosely coupled) bile\u015fenler ortaya koyabilmek olmal\u0131. Bu bak\u0131\u015f a\u00e7\u0131\u015f\u0131yla yaz\u0131 dizisi boyunca \u00f6rnek olarak kulland\u0131\u011f\u0131m uygulaman\u0131n a\u015fa\u011f\u0131daki main metoduna&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":33607,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28],"tags":[41,315,314],"class_list":["post-33606","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","tag-c","tag-dependency-injection","tag-ninject"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; \u00d6nceki makalemle birlikte Ninject\u2019e yapt\u0131\u011f\u0131m\u0131z giri\u015f ard\u0131ndan Dependency Injection\u2019\u0131n hayat\u0131m\u0131z\u0131 ne kadar kolayla\u015ft\u0131rabildi\u011fini size \u00f6rnekleyebildi\u011fimi umar\u0131m. \u015eimdi s\u0131ra bunu bir ad\u0131m daha ileri ta\u015f\u0131makta. Dependency Injection konusu boyunca hedefimiz her zaman i\u00e7in olabildi\u011fince gev\u015fek ba\u011fl\u0131 (loosely coupled) bile\u015fenler ortaya koyabilmek olmal\u0131. Bu bak\u0131\u015f a\u00e7\u0131\u015f\u0131yla yaz\u0131 dizisi boyunca \u00f6rnek olarak kulland\u0131\u011f\u0131m uygulaman\u0131n a\u015fa\u011f\u0131daki main metoduna...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-24T17:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-19T08:05:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl\",\"datePublished\":\"2014-07-24T17:20:00+00:00\",\"dateModified\":\"2021-06-19T08:05:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/\"},\"wordCount\":762,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg\",\"keywords\":[\"C#\",\"Dependency Injection\",\"Ninject\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/\",\"url\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/\",\"name\":\"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg\",\"datePublished\":\"2014-07-24T17:20:00+00:00\",\"dateModified\":\"2021-06-19T08:05:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg\",\"width\":1800,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/","og_locale":"en_US","og_type":"article","og_title":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy","og_description":"&nbsp;&nbsp; \u00d6nceki makalemle birlikte Ninject\u2019e yapt\u0131\u011f\u0131m\u0131z giri\u015f ard\u0131ndan Dependency Injection\u2019\u0131n hayat\u0131m\u0131z\u0131 ne kadar kolayla\u015ft\u0131rabildi\u011fini size \u00f6rnekleyebildi\u011fimi umar\u0131m. \u015eimdi s\u0131ra bunu bir ad\u0131m daha ileri ta\u015f\u0131makta. Dependency Injection konusu boyunca hedefimiz her zaman i\u00e7in olabildi\u011fince gev\u015fek ba\u011fl\u0131 (loosely coupled) bile\u015fenler ortaya koyabilmek olmal\u0131. Bu bak\u0131\u015f a\u00e7\u0131\u015f\u0131yla yaz\u0131 dizisi boyunca \u00f6rnek olarak kulland\u0131\u011f\u0131m uygulaman\u0131n a\u015fa\u011f\u0131daki main metoduna...Read More","og_url":"https:\/\/fatihboy.com\/en\/ninject-gevsek-bagli-sistemler-modul\/","og_site_name":"Fatih Boy","article_published_time":"2014-07-24T17:20:00+00:00","article_modified_time":"2021-06-19T08:05:01+00:00","og_image":[{"width":1800,"height":1200,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg","type":"image\/jpeg"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl","datePublished":"2014-07-24T17:20:00+00:00","dateModified":"2021-06-19T08:05:01+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/"},"wordCount":762,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg","keywords":["C#","Dependency Injection","Ninject"],"articleSection":["C#","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/","url":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/","name":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg","datePublished":"2014-07-24T17:20:00+00:00","dateModified":"2021-06-19T08:05:01+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2021\/06\/human-hand-chain.jpg","width":1800,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/ninject-gevsek-bagli-sistemler-modul\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Ninject, Gev\u015fek Ba\u011fl\u0131 Sistemler : Mod\u00fcl"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=33606"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33606\/revisions"}],"predecessor-version":[{"id":33608,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33606\/revisions\/33608"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/33607"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=33606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=33606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=33606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}