بررسی Bad code smell ها : کامنت
برای مشاهده طبقه بندی Bad code smellها میتوانید به اینجا مراجعه کنید.استفاده از کامنت، به خودی خود یک الگوی بد کد نویسی نیست. ولی ممکن است این امکان به درستی استفاده نشده و فایده مد نظر توسعه دهنده...
View Articleکنترل شرایط تاثیرگذار بر روی یک نقش در ASP.NET MVC
در سایت جاری، مباحث زیادی در مورد دسترسی یک نقش به اکشن متدها مطرح شده است. در این مقالات یاد گرفتهایم اگر اکشن متدی به ویژگی Authorization مزین گردد، دسترسی این اکشن متد تنها به کاربران لاگین شده...
View Articleبررسی Bad code smell ها: الگوی Shotgun Surgery
برای مشاهده طبقه بندی Bad code smellها میتوانید به اینجا مراجعه کنید.زمانیکه به ازای هر تغییر، نیاز باشد تغییرات کوچکی در تعداد کلاسهای زیادی انجام شود، این بوی بد کد بوجود آمده است. این الگو از...
View Articleالگوریتمهای داده کاوی در SQL Server Data Tools یا SSDT - قسمت چهارم -...
در قسمت قبل با الگوریتم های Decision trees و Linear Regression آشنا شدیم. در این قسمت به الگوریتم Clustering یا خوشه بندی میپردازیم. مقدمهتصور کنید شما بچهای هستید که با یک کیسه تیله روی زمین...
View ArticlePipeها در Angular 2 - بخش اول
برای تغییر نحوه نمایش یک عبارت در رابط کاربری، از Pipe استفاده میشود. مثلا ممکن است تاریخ تولد به صورت میلادی از سرور دریافت شده باشد، میخواهیم بدون تغییری در متغیر حامل تاریخ میلادی و فقط در لایه...
View Articleمعرفی افزونههای مفید VSCode جهت کار با Angular
VSCode یکی از بهترین ادیتورهایی است که از آن میتوان برای توسعهی برنامههای Angular استفاده کرد و در این بین افزونههای ویژهای جهت کار با Angular برای آن تدارک دیده شدهاند که در ادامه تعدادی از...
View Articleمایکرو سرویسها - قسمت 1 - معرفی
در نرم افزارهای Enterprise، توسعه محصول، چالش اصلی تیم نمیباشد. اصلیترین چالش، بعد از استقرار نرم افزار و زیر بار رفتن آن بهوجود میآید؛ مسائلی نظیرمدیریت تغییرات و scaling و چنانچه نرم افزار بصورت...
View Articleبررسی Bad code smell ها: تعداد زیاد پارامترهای ورودی
برای مشاهده طبقه بندی Bad code smellها میتوانید به اینجا مراجعه کنید. زمانیکه متدی بیش از سه یا چهار پارامتر ورودی داشته باشد، به چنین مشکلی برخوردهایم. این بوی بد کد از دسته «کدهای متورم» است....
View Articleفرمهای مبتنی بر قالبها در Angular - قسمت اول - معرفی و ایجاد ساختار برنامه
پیشنیازها - آشنایی با Angular CLI - آشنایی با مسیریابیها در Angular همچنین اگر پیشتر Angular CLI را نصب کردهاید، قسمت «به روز رسانی Angular CLI» ذکر شدهی در مطلب «Angular CLI - قسمت اول - نصب و راه...
View Articleفرمهای مبتنی بر قالبها در Angular - قسمت دوم - ایجاد اولین فرم
در قسمت قبل، مروری داشتیم بر تفاوتهای دو نوع مختلف فناوریهای ایجاد و مدیریت فرمها در Angular و هچنین ساختار ابتدایی برنامهی این سری را ایجاد کردیم. در ادامه، اولین فرم مبتنی بر قالبها را ایجاد...
View Articleالگوی Service Locator
الگوی Service Locator، به صورت گستردهای به عنوان یک ضد الگو شناخته میشود و هنگامیکه از این الگو استفاده میکنیم ما را با یک سری از مشکلات رو به رو میکند. ولی این الگوی طراحی به خودی خود منشاء مشکل...
View Articleفرمهای مبتنی بر قالبها در Angular - قسمت سوم - Data binding
در قسمت قبل، ساختار فرم ثبت اطلاعات کارمندان را تکمیل کردیم. در این قسمت قصد داریم این اطلاعات را در کامپوننت آن توسط data binding دریافت کنیم. نقش ngModel در data binding ngModel دایرکتیوی است که وجود...
View Articleبررسی Bad code smell ها: میراث رد شده
میراث رد شده یا Refused bequest به دسته «بد استفاده کنندگان از شیء گرایی» تعلق دارد. این دسته از کدهای بد بو، معمولا استفاده ناقص یا نادرستی از مفاهیم و اصول شیء گرایی دارند. زمانیکه یک کلاس تنها بخشی...
View Articleفرمهای مبتنی بر قالبها در Angular - قسمت چهارم - اعتبارسنجی ورودیها
پس از برقراری ارتباط بین فرم و مدل آن در قسمت قبل، مرحلهی بعدی طراحی یک فرم خوب، اعتبارسنجی ورودیهای کاربران است و واکنش نشان دادن به ورودیهای نامطلوب.کلاسهای CSS اعتبارسنجی در Angular زمانیکه...
View Articleکار با مجموعهها ( الگوی طراحی Composite)
یکی از پیچیدگیهای معمول در کد، کلاسی است که دارای مجموعهای باشد. مشکل اصلی با چنین طراحی این است که تمام عملیات باید از وضعیت مجموعه آگاه باشند. چرا مجموعهها خیلی پیچیده هستند؟داشتن مجموعه، خود با...
View Articleکاهش پیچیدگی؛ قسمت اول: الگوی مورد خاص (Special Case Pattern)
مهمترین دستاورد الگوی شیء نال ( Null Object Pattern ) این است که جریان کنترل (branch ) برای شاخه مثبت و منفی یکسان است و هیچگونه انشعاب شرطی بر اساس آزمونهای null وجود ندارد. شیءهای حقیقی دارای یک...
View Articleفرمهای مبتنی بر قالبها در Angular - قسمت پنجم - ارسال اطلاعات به سرور
تا اینجا تنظیمات اصلی فرم ثبت اطلاعات کارمندان را انجام دادیم. اکنون نوبت به ارسال این اطلاعات به سمت سرور است. پیشنیاز آن نیز تدارک مواردی است که در مطلب «یکپارچه سازی Angular CLI و ASP.NET Core در VS...
View ArticlePipeها در Angular 2 – قسمت دوم – ساخت Pipe سفارشی
در قسمت قبل، مقدماتی از Pipeها را مورد برسی قرار دادیم؛ از جمله کاربرد Pipeها، نحوه استفاده از آنها، معرفی یکسری Pipe از پیش ساخته شده Angular، نحوه ارسال پارامتر به آنها و همچنین نحوه استفاده از آنها...
View Articleروش دیباگ برنامههای مبتنی بر Angular CLI در VSCode
در انتهای مطلب «فرمهای مبتنی بر قالبها در Angular - قسمت پنجم - ارسال اطلاعات به سرور» در مورد «بارگذاری اطلاعات drop down از سرور» بحث شد. در اینجا میخواهیم قبل از نمایش اطلاعات این drop down در...
View Articleایجاد Drop Down List های آبشاری در Angular
تاکنون دو مطلب مشابه «ساخت DropDownListهای مرتبط به کمک jQuery Ajax در MVC» و «ایجاد Drop Down Listهای آبشاری توسط Kendo UI» را در مورد ساخت Cascading Drop-down Lists در این سایت مطالعه کردهاید. در...
View Article