بررسی خروجی IsAjaxRequest در درخواست های http$ توسط AngularJS
در یکی از پروژه‌هایی که دارم از AngularJS و ASP.NET MVC استفاده میکنم. به هنگام استفاده از درخواست‌های ایجکسی توسط سرویس http$ به مشکل عدم تشخیص ایجکسی بودن درخواست برخوردم. توسط فیلتری که در اینجا توضیح داده شده و قرار دادن آن قبل از اکشن مورد نظر، میتوانیم تشخیص بدهیم که آیا درخواست رسیده از سمت کلاینت، ایجکسی است یا خیر؟ که در صورت ایجکسی نبودن درخواست، با صادر کردن یک استثنا مانع از اجرا شدن اکشن شویم. این فیلتر از اکستنشنی به نام I ...
مسیریابی در AngularJs #بخش دوم
در قسمت قبل با نحوه پیاده سازی مسیریابی در AngularJs آشنا شدیم و در این پست میخواهیم نحوه تعریف و ارسال پارامترها به سیستم مسیریاب را فرا بگیریم. فرض کنید که میخواهیم در لیست سفارشات قسمتی داشته باشیم برای مشاهده‌ی جزئیات هر سفارش. پس در صفحه نمایش جزئیات کالا نیاز به کد محصول برای واکشی آن داریم. در Angular زمانی که داریم مسیر‌ها را تعریف میکنیم این امکان را هم داریم که پارامترهایی را هم برای هر مسیر مشخص کنیم. برای این کار فایل app.js ...
مسیریابی در AngularJs #بخش اول
در مطالب قبل کنترلر‌ها و view‌ها مورد بحث قرار گرفتند. در این پست در نظر داریم یکی از ویژگی‌های دیگر AngularJs به نام مسیر یابی (Routing) را مورد بحث قرار دهیم. یکی از ویژگی‌های برنامه‌های تک صفحه ای عدم Reload شدن صفحات است ،بر خلاف برنامه‌های وب چند صفحه ای که برای نمایش صفحه ای دیگر ، باید از صفحه ای به صفحه ای دیگر منتقل شد و عمل Reload هم به طبع نیز اتفاق می‌افتد. در قسمت اول این سری مقالات ، مزایای برنامه‌های وب تک صفحه ای ...
CSS پویا در ASP.NET MVC
سناریو هایی وجود دارد که نیاز است مشتری ، خود شیوه نامه هایی (CSS) را برای قسمت‌های مختلف سایت انتخاب کند. برای مثال تنظیماتی را برای منوی سایت در نظر گرفته ایم که مشتری بتواند رنگ و قلم و ... را متناسب با سلیقه‌ی خود تغییر دهد و یا یک قسمت کلی برای اعمال شیوه نامه‌ها به سایت ایجاد کرده ایم که در همه‌ی قسمت‌های سایت اعمال شود. بدین شکل در صورتی که مشتری، اطلاعات اندکی هم در مورد CSS داشته باشد میتواند ظاهر سایت خود را به آسانی تغییر دهد و ...
تخته وایت برد آنلاین توسط SignalR
همانطور که در دوره SignalR سایت نیز مطرح شده‌است : " یکی از کاربردهای جالب SignalR می‌تواند به روز رسانی مداوم صفحه نمایش کاربران، توسط اطلاعات ارسالی از طرف سرور باشد. " در ادامه میخواهیم به طراحی یک "تخته وایت برد" آنلاین بپردازیم. در این پروژه برای ترسم خطوط بر روی صفحه از Canvas در HTML5 استفاده میشود. پیشنیازها : پیشنیازهای این مطلب با مطلب « مثال - نمایش درصد پیشرفت عملیات توسط SignalR » یکی است. برای مثال، نحوه ...
اصول طراحی شی گرا SOLID - #بخش پنجم اصل DIP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP اصول طراحی شی گرا SOLID - #بخش چهارم اصل ISP اصل 5) D – DIP– Dependency Inversion principle مقایسه با دنیای واقعی: همان مثال کامپیوتر را دوباره در نظر بگیرید.این کامپیوتر دارای قطعات مختلفی مانند RAM ، هارد دیسک، CD ROM و ... است که هر ک ...
اصول طراحی شی گرا SOLID - #بخش چهارم اصل ISP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP اصل 4) I – ISP– Interface Segregation principle مقایسه با دنیای واقعی: بیایید فکر کنیم شما یک کامپیوتر دسکتاپ جدید خریداری کرده اید.شما یک زوج پورت USP، چند پورت سریال، یک پورت VGA و ... را پیدا میکنید. اگر شما بدنه‌ ...
اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصل 3 ) L – LSP – Liskov substitution principle اصل LSP میگوید : "زیر کلاس‌ها باید بتوانند جایگزین نوع پایه‌ی خود باشند". مقایسه با جهان واقعی : شغل یک پدر تجارت املاک است درحالی که پسرش دوست دارد فوتبالیست شود. یک پسر هیچگاه نمیتواند جایگزین پدرش شود، با اینکه ک ...
اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP
در قسمت قبل در مورد اصل Single responsibility Principle یا به اختصار SRP صحبت شد. در این قسمت قصد داریم اصل دوم از اصول SOLID را مورد بررسی قرار دهیم. اصل 2 ) O - OCP – Open Close Principle فرض میکنیم که شما میخواهید یک طبقه بین طبقه‌ی اول و دوم خانه‌ی 2 طبقه‌ی خود اضافه کنید. فکرمیکنید امکان پذیر است؟ راه حل هایی که ممکن است به ذهن شما خطور کنند : 1- زمانی که برای اولین بار در حال ساخت خانه هستید ...
اصول طراحی شی گرا SOLID - #بخش اول اصل SRP
مخاطب چه کسی است؟ این مقاله برای کسانی در نظر گرفته شده است که حداقل پیش زمینه ای در مورد برنامه نویسی شی گرا داشته باشند.کسانی که تفاوت بین کلاس‌ها و اشیاء را میدانند و میتوانند در مورد ارکان پایه ای برنامه نویسی شی گرایی نظیر : کپسوله سازی (Encapsulation) ، کلاس‌های انتزاعی (Abstraction) ، چند ریختی (Polymorphism ) ، ارث بری (Inheritance) و... صحبت کنند. مقدمه : در جهان شی گرا ما فقط اشیاء را میبینیم که با یکدیگر د ...