Model View Controller یا MVCدر انگولار
خوب از خیر تاریخچه این مدل معماری میگذریم چون میدانم که برای درس تاریخ این مقاله را نمیخوانید. اما یه توضیح خلاصه راجع به معماری لازمه. علت محبوبیت این مدل این هست که کد شما را به سه قسمت تقسیم میکند بخش مدیریت داده بنام model، بخش منطق برنامه بنام controller و بخش نمایش داده به کاربر بنام view. این نوع معماری برای پروژه های متوسط و بزرگ از نظر کد نویسی مناسب هست و مثال استفاده از آن برای پروژه های ساده و کوچک مثل کشتن پشه با پتک میباشد. خیلی ها معتقدند که در این مدل کد نویسی بیشتری داریم انجام میدیم! که البته برای پروژه های کوچک درست میباشد.
view داده مورد نیاز خودش برای نمایش را از model دریافت میکند. زمانی که کاربر با برنامه تعامل میکند controller پاسخگوی مستقیم دستورات کاربر میباشد و مدل را تغییر میدهد و در نهایت مدل view را از تغییرات با خبر میکند و view نمایش داده را بروزرسانی میکند. این خلاصه معماری mvc میباشد.
در پروژه های angularJs مدل همان Document Object Model یا DOM میباشد که در فایلهای HTML ذخیره میشود. controller ها کلاسهای جاوا اسکریپت هستند و مدل در property های object ها ذخیره میشوند، نگفتم کلاسها چون در جاوااسکریپت برای ساخت object حتماً لازم نیست قبلش کلاس تعریف بشه! میدونم خیلی از برنامه نویس ها با تجربه در زبانهای c و java به خاطر loose type بودن جاوااسکریپت زیاد ازش خوششون نمیاد.
علت استفاده از مدل MVC در انگولار آشنایی برنامه نویسان با آن و همچنین ارائه یک مدل ذهنی مناسب برای اینکه چی کجا باید قرار بگیره اعلام شده.