نمونه کدها و گیست های Codehaks@ را می توانید از لینک زیر دنبال کنید :
https://gist.github.com/codehaks
https://gist.github.com/codehaks
Gist
codehaks’s gists
GitHub Gist: star and fork codehaks's gists by creating an account on GitHub.
منظور از Inversion of Control یا کنترل معکوس در برنامه نویسی چیست ؟
معکوس کردن کنترل به این معنی است که شما بخشی از وظایفی که به عهده دارید به شخص دیگری بسپارید. مثلا بجای اینکه خودتان درهای فروشگاه را باز کنید یک چشم الکرونیکی حضور شما را تشخیص میدهد و در را باز میکند. در اینجا شما کنترل باز و بسته شدن در را از خودتان به چشم الکترونیک منتقل کرده اید.
در برنامه نویسی وقتی یک کلاس به چند کلاس دیگر وابسته است باید هر یک از آنها را نمونه سازی کنید. یعنی با استفاده از new یک نمونه جدید از کلاس وابسته را ایجاد و تخصیص دهید. شما می توانید این عملیات نمونه سازی را به یک IoC Container بسپارید. ابزاری مانند Ninject ، StructureMap ، AutoFac نقش چشم الکترونیک را به عهده دارند. آنها به عنوان کنترل معلکوس عمل میکنند و کلاسهای مورد نیاز هر کلاس را ایجاد و تخصیص میدهند و در پایان حذف میکنند. برای کار با این ابزار ابتدا باید یکی از روشها تزریق وابستگی یا Dependency Injection را بکار بگیرید.
معکوس کردن کنترل به این معنی است که شما بخشی از وظایفی که به عهده دارید به شخص دیگری بسپارید. مثلا بجای اینکه خودتان درهای فروشگاه را باز کنید یک چشم الکرونیکی حضور شما را تشخیص میدهد و در را باز میکند. در اینجا شما کنترل باز و بسته شدن در را از خودتان به چشم الکترونیک منتقل کرده اید.
در برنامه نویسی وقتی یک کلاس به چند کلاس دیگر وابسته است باید هر یک از آنها را نمونه سازی کنید. یعنی با استفاده از new یک نمونه جدید از کلاس وابسته را ایجاد و تخصیص دهید. شما می توانید این عملیات نمونه سازی را به یک IoC Container بسپارید. ابزاری مانند Ninject ، StructureMap ، AutoFac نقش چشم الکترونیک را به عهده دارند. آنها به عنوان کنترل معلکوس عمل میکنند و کلاسهای مورد نیاز هر کلاس را ایجاد و تخصیص میدهند و در پایان حذف میکنند. برای کار با این ابزار ابتدا باید یکی از روشها تزریق وابستگی یا Dependency Injection را بکار بگیرید.