کنترلر ها هیچ چیزی جز توابع ساده جاوا اسکریپت نیستند که به یک اسکوپ متصل هستند. Controllers منطق را به view اهدا میکنند.
۱- اسکوپ ها چیستند ؟
اسکوب در ویو و کنترلر فعالیت می کند. این شی داده هایی را در خود نگه می دارد که قرار است به view‌ تحویل داده شوند. اسکوب ها از اتصال داده ی دو طرفه ی مخصوص انگولاری استفاده میکند که دیتای مدل ها را به view‌ می رساند.
پس می توان این گونه نتیجه گرفت که اسکوب شی ای است که کنترلر را به view متصل می کند. به همین منظور این وظیفه ی کنترلر است که داده هایی که قرار است در view نمایش داده شوند را به به ان برساند.
این عملیات ها تماما در $scope انجام میشوند.
۱- AngularJS Service / Factory Tutorial با مثال
وظیفه ی سرویس ها در انگولار انجام وظائف محوله است!
این سرویس ها وظیفه ی انجام یک سری کارهای مربوط به لایه ی تجاری نرم‌افزار شما را بر عهده دارند. در طراحی انگولار موارد نگران کننده ی برنامه شما از هم جدا می‌شوند. کنترلر شما باید مسئول اتصال داده‌ها از model به view را از طریق $scope داشته باشد. البته این نوع انتقال شامل انتقال منطق نیست ، یک نوع واکشی داده یا دستکاری آن است. حالا اینجا لازم است یک لایه که شامل توابعی است که محاسبات را انجام می‌دهد به برنامه اضافه شود و آن هم سرویس ها هستند.انگولار امکانات مختلفی برای مدیریت این لایه در نظر گرفته است.
هر گاه می‌خواهیم از سرویس ها استفاده نماییم ، فقط می بایست نام آن را صدا بزنیم و سپس انگولار یک مدل تزریق جادویی ، اشیاء سرویس را برای شما وارد یا تزریق می‌کند که شامل یک شی stateless بوده و شامل یک سری توابع کاربردی هستند. این توابع از هر جایی قابل فراخوانی هستند مثل Controllers, Directive, Filters and … در نتیجه می‌توانیم برنامه خود را یک سری یونیت های منطقی تقسیم کنیم.پس می‌توانیم در منطق تجاری خود یک سری url استفاده نماییم که داده‌ها را از سرویس دریافت می‌کنند و در آبجکت های سرویس قرار میدهند.
قرار دادن منطق های تجاری نرم‌افزار در لایه‌ای جداگانه مزایای فراوانی دارد. بعنوان اولین مورد می‌توان به تفکیک وظائف و نوعی تبعیض وظیفه در نرم‌افزار رسید که کار کنترل محاسبات را ساده‌تر می کند. دوم در این روش می‌توان موقعیت های بیشتری را برای تست پذیر بودن برنامه بوجود آورد.

Continue Reading “سرویس ها در AngularJS”