‫۱۱ سال و ۳ ماه قبل، سه‌شنبه ۲۵ تیر ۱۳۹۲، ساعت ۰۴:۴۸
من می‌خواهم از روش اول استفاده کنم برای همین  کنترلر خودم را به صورت زیر تغییر دادم
public class HomeController  : Controller
    {
        public readonly ITABMPCREWService aa ;
        public HomeController(ITABMPCREWService tabmpcrewService)
        {
            aa = tabmpcrewService;
        }

        public ActionResult Index()
        {

            TABMPCREWS tt = new TABMPCREWS()
            {
                DTLASTUPDATEDDATE = DateTime.Now,
                INTOTRATE = 122,
                INTRATE = 215,
                VCCODEDESCRIPTION = "fff858699",
                VCCODEVALUE = "fff858699",
                VCLASTUSERID = "fff858699",
                INTCREWCODE = 105652
            };
            aa.Add(tt);


            ViewBag.Message = "Welcome to ASP.NET MVC!";

            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your app description page.";

            return View();
        }

public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
ولی خطای زیر را دریافت می‌کنم
StructureMap Exception Code:  202 No Default Instance defined for PluginFamily ServiceLayer.

ممنون میشم من را راهنمایی کنید.
‫۱۱ سال و ۳ ماه قبل، دوشنبه ۲۴ تیر ۱۳۹۲، ساعت ۱۳:۱۲
دو نوع تزریق وابستگی‌ها وجود دارد: الف) در سازنده کلاس ب) در خواص تعریف شده
شما روش دوم را انتخاب کردید. نیازی به اینکار در MVC نیست و روش مرجح، روش الف است که نمونه‌ای از آن‌را در کلاس LoginController بحث فوق ملاحظه می‌کنید.
اگر می‌خواهید تزریق وابستگی‌ها در خواص یک کلاس صورت گیرد، نیاز به یک سری تنظیمات اضافه‌تر وجود دارد که در بحث وب فرم‌ها مطرح شده (تنظیم SetAllProperties در متد initStructureMap آن).
‫۱۱ سال و ۳ ماه قبل، دوشنبه ۲۴ تیر ۱۳۹۲، ساعت ۰۵:۴۲
با سلام؛ من در استفاده از این روش در پروژه خودم به مشکل بر خوردم ممنون میشم راهنمایی بفرمایید.
ساختار لایه بندی من به صورت زیر است.

در پروژه وب یک کلاس ایجاد کردم و کد‌های زیر را در آن نوشتم

 public class StructureMapControllerFactory  : DefaultControllerFactory
    {
        protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
        {
            if (controllerType == null)
                throw new InvalidOperationException(string.Format("Page not found: {0}", requestContext.HttpContext.Request.Url.AbsoluteUri.ToString(CultureInfo.InvariantCulture)));
            return ObjectFactory.GetInstance(controllerType) as Controller;
        }
    }
و کدهای کنترلر من به صورت زیر است
 public class HomeController  : Controller
    {
        public ITABMPCREWService aa { get; set; }

        public ActionResult Index()
        {

            TABMPCREWS tt = new TABMPCREWS()
            {
                DTLASTUPDATEDDATE = DateTime.Now,
                INTOTRATE = 122,
                INTRATE = 215,
                VCCODEDESCRIPTION = "fff858699",
                VCCODEVALUE = "fff858699",
                VCLASTUSERID = "fff858699",
                INTCREWCODE = 105652
            };
            aa.Add(tt);


            ViewBag.Message = "Welcome to ASP.NET MVC!";

            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your app description page.";

            return View();
        }

public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
و در فایل Global  در متد Application_Start() کد زیر را اضافه کردم
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
و در لایه Service کلاس TABMPCREWServiceبه صورت زیر است
 public class TABMPCREWService : ITABMPCREWService
    {
        private IUnitOfWork _uow;
        private IDbSet<TABMPCREW> _tabmpcrews;
        public TABMPCREWService(IUnitOfWork uow)
        {
            this._uow = uow;
            _tabmpcrews = uow.Set<TABMPCREW>();
        }

        public int Add(TABMPCREW personnel)
        {
            int rowEffect = 0;

            _tabmpcrews.Add(personnel);
            rowEffect = _uow.SaveChanges();
            return rowEffect;
        }

    }
و زمانیکه پروژه را اجرا می‌کنم به این خطا بر می‌خورم

همه چیز رو چک کردم ولی دلیلی برای این خطا پیدا نکردم . ممنون میشم راهنمایی کنید.
‫۱۱ سال و ۳ ماه قبل، یکشنبه ۲۳ تیر ۱۳۹۲، ساعت ۱۹:۴۶
با تشکر از این مجموعه خیلی خوب. مفاهیم کلی F شارپ رو به طور مناسبی خلاصه کردید.
 اما چندتا نکته به نظرم رسید که اگر اصلاح بشه، بهبود قابل توجهی ایجاد می‌شه.
۱- خیلی از اصطلاح‌ها به فارسی برگردانده شده‌اند اما معادل انگلیسی همه آن‌ها ذکر نشده. به نظرم ذکر عبارت انگلیسی آن حتی از استفاده عبارت فارسی مهمتره، چون در نهایت کاربر برای یادگیری بیشتر باید از منابع انگلیسی استفاده کنه. پس چه بهتر که این‌جا یک مقدار آشنا بشه.
۲- کاش جایی که درباره تابع‌گرا بودن صحبت می‌کردید، از ابتدا درباره مفهوم اصلی اون و تفاوتی که بین شی‌گرایی وجود داره بحث می‌شد و اون رو زمان یاددادن نحوه تعریف تابع و ... موکول نمی‌کردید.
 یعنی مقداری درباره تفاوتی که شی‌گرایی بین فیلد و متد می‌گذاره و این‌جا با تابع و شناسه از یک جنس برخورد می‌شه (اگه اشتباه می‌کنم لطفا تصحیح بفرمایین)، از نظر ریاضی چند تا مثال می‌زدید تا مفهوم اون جا بیفته.
۳- یه جاهایی لحن متن بین رسمی و محاوره گیر کرده. یعنی یه جایی خیلی رسمی شده، یه جایی نه. اگه یه مقدار یکدست‌تر بنویسید، تمرین نگارشیه خوبیه :دی
‫۱۱ سال و ۳ ماه قبل، جمعه ۲۱ تیر ۱۳۹۲، ساعت ۰۵:۰۴
در دو مطلب زیر به سؤال شما پاسخ داده شده:
- الگوی معکوس سازی کنترل چیست؟  (آیا هرجایی باید اینترفیس تعریف کرد؟ و کجا؟ اصلا این معکوس سازی چی هست و چه هدفی رو دنبال می‌کنه)
- مراحل Refactoring یک قطعه کد برای اعمال تزریق وابستگی‌ها (در کدهای موجود چطور باید این الگو را پیاده سازی کرد و نحوه تشخیص آن به چه صورتی است)
 
‫۱۱ سال و ۳ ماه قبل، جمعه ۲۱ تیر ۱۳۹۲، ساعت ۰۴:۵۸
تزریق وابستگی رو تا چه سطحی باید انجام داد؟ یعنی رعایت کردن اون تو تمام سطوح نرم افزار باید انجام بشه؟ برای مثال کلاس زیر رو در نظر بگیرید که در لایه Entity  وجود داره
class Parent
{
    public IChild child {get;set;}
    public Parent(Ichild child)
   {
      this.child =child;
   }
}
آیا با اینکه کلاس پدر و فرزند در یک لایه مشترک هستند  ، در اینجا ارزش داره که  تزریق وابستگی رو انجام بدیم ؟حجم کد و کار بالا بالا نمیره؟ یا اینکه پیچیدگی زیاد نمیشه؟
‫۱۱ سال و ۳ ماه قبل، سه‌شنبه ۱۸ تیر ۱۳۹۲، ساعت ۲۰:۵۹
- اصول آن تفاوتی نمی‌کند. مراحل تشکیل لایه سرویس، برپایی IoC و همچنین تزریق وابستگی‌ها در سازنده کنترلرها یکی است.
+ مراجعه کنید به قسمت 12 سری EF Code first. یک مثال در این مورد (کار با دیتابیس در MVC‌، وب فرم‌ها و برنامه‌های ویندوزی به همراه تزریق وابستگی‌ها) وجود دارد و همچنین قابل دریافت است.
‫۱۱ سال و ۳ ماه قبل، سه‌شنبه ۴ تیر ۱۳۹۲، ساعت ۱۴:۴۰
مشکلی مشاهده نشد: (تصویری است از یک کنترل مرورگر وب که در آن یک صفحه html بارگذاری شده است)

ضمنا، موضوع بحث مطلب جاری «نصب و راه اندازی» است. هر دوره یک قسمت پرسش و پاسخ جداگانه هم دارد.