دسته Archives: استاندارد های جهانی

درآمدی بر Design Pattern – الگوهای طراحی

به نام دانای بر حق

Design Pattern چیست؟

در مهندسی نرم افزار، الگوی طراحی نرم افزاری تعدادی راحل های تکراری برای مشکلاتی هستند که معمولا در طراحی نرم افزار اتفاق میوفتند، یک الگوی طراحی، طراحی را متوقف نمی کند،اما میتواند آن را مستقیم وارد کد های خود کنید.این یک توضیح و یا نمونه است برای اینکه متوجه شوید چطور مشکل خود را حل کنید اما میتوانید از راه حل‌های متخلف استفاده کنید.

 

استفاده از Design Pattern

الگوهای طراحی میتوانند همراه با نمونه‌های تست شده به توسعه شما سرعت ببخشند، همانند نمونه‌های توسعه پایدار و ثابت شده. طراحی مؤثر یک نرم‌افزار با توجه به موضوع آنکه ممکن است تا لحظه آخر ساختار آن دیده نشود،استفاده از الگوهای طراحی کمک می‌کند تا از ظرافت هایی که ممکن است باعث مشکلات عمده شود جلوگیری شود و کد ها خوانایی بیشتری برای سایر برنامه نویسان و آشنایان با الگو وجود داشته باشد.

اغلب، مردم متوجه می‌شوند چگونه تکنیک های خاص را برای حل مشکلات خاص به کار ببرند،این تکنیک های به سختی اعمال می‌شوند و طیف وسیعی از مشکلات را همراه خود دارند. اما الگوهای طراحی راه حل‌های عمومی را ارائه می‌کنند که در یک قالب مستند شده و نیازی به جزئیات گره خورده با مشکل خاص ندارد.

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

 

الگوهای طراحی تکوینی ( ایجادی)

این دسته طرح های همگی مربوط نمونه سازی از کلاس‌ها میشوند،این الگوها بیشتر میتواند به دو بخش:

‍۱) الگو های class-creation

۲) الگوهای object-creational

تقسیم شود.

زمانی که class-creation سعی در ارث بری می کن بر روی فرآیند نمونه سازی تأثیر گذار است.

الگوی object-creation از نمایندگان برای انجام و به سرانجام رساندن کار خوداطلاعات بیشتر

ترسیم طرح مبتنی بر دایره با استفاده مختصات قطبی – Delphi و Javascript

به نام دانای برحق

مقدمه

سلام یاده زمانی که دانشگاه بودم سر کلاس ریاضی کاربردی خیلی حال می کردم چون نکات جدیدی رو درک می کردم یکی از درس های ریاضی کاربردی مختصات قطبی بودش که شاید تا الان بیش از ۲۰ مرتبه استفاده شده ازش برام.

در مختصات دکارتی شما محدودیت این رو دارید که نمیتونید اشکال دایره وار به راحتی ترسیم کنید شما فرض کنید می خواهید یه سری نقطه چین ترسیم کنید که به شکل دایره ای باشه برای محاسبه تو مختصات دکارتی تقریبا با نظرم درست کردنش غیر ممکن هستش حال آنکه سیستم دیجیتالی سیستم عامل هایی که ما باهاشون کار می کنیم از ما فقط مختصات دکارتی رو می پذیرند روی همین حساب ما باید یه کار دیگه کنیم اون زمان هستش مختصا قطبی به درد ما میخوره.

ما در این قسمت از دو زبان یکی زبان تحت وب کلاینت استفاده می کنیم javascript و یه زبان تحت ویندوز Delphi

مختصات قطبی و تفاوت آن با دکارتی

به زبان ساده ما با بیان تفاوت بهتر میتونیم این مسائله رو روشن کنیم ما برای آدرس دهی در روش دکارتی به دو نقطه نیاز داریم x و y که معادل طول و ارتفاع هستش خوب حالا متخصات قطبی تفاوت دارد و نحوه آدرسی بر اساس این است که مرکز صفحه مختصات میشود محور کار می برای آدرس دهی ما یک فاصله با یک زاویه میدهیم مثلا فاصله ۲۱۰ پیکسل با زاویه ۴۵ درجه از مبدا مختصات میشه آدرس دهی ما اما به نقل از ویکی پدیا این شکلی میتونیم تعریف کنیم:

دستگاه مختصات قطبی، یک دستگاه مختصات دوبعدی است که در آن مکان هر نقطه، با فاصلهٔ آن تا مرکز مختصات (r) و زاویه بین خط رسم‌شده از مرکز به آن نقطه و محور طول، (θ) مشخص می‌شود. این دستگاه در سه بعد به دستگاه مختصات استوانه‌ای و دستگاه مختصات کروی تبدیل می‌شود.

اولین استفاده‌های مشابه که به ایجاد کنونی این دستگاه انجامیده‌است توسط ابوریحان بیرونی انجام شد.

Polar_Coordinatesاطلاعات بیشتر

acid تست و استاندارد جهانی سازگاری مرورگر

مقدمه

زمانی که به معرفت بشری چنگ میزنیم دیگر همه چیز معطوف به توافقات بین بشر میشود، در این جا مثل فیزیک و شیمی نیست که ما مجبور باشیم به آنچه خالق هستی بر آن قانون نهاده اتکا کنیم و از اون به اعنوان استاندارد استفاده کنیم، اینجا توافق بین انسان ها مطرح هستش هر توافقی هر چقدر کامل تر و دقیتر باشه و مهم ترین مولفه آن فراگیر تر باشه اعتبار بیشتری دارد و سایرین رغبت به تبعیت از اون رو دارند، اما در استاندارد های دنیای وب یک استاندارد کلی به نام w3 وجود داره که مشخص کننده کلیات کار هستش و یک استاندارد دیگری وجود دارد به نام acid test که مرورگر ها رو آزمون می کنه که چقدر تو پیاده سازی و به روز بودن استاندارد های w3 موفق بودند، البته استاندارد های دیگری نیز وجود دارد که مورد بحث ما نیست.

تاریخچه acid test

Acid که اکنون ورژن فعلی و مورد استناد آن acid3 می باشد یک پروژه استاندارد وب می باشد که و که توسط ارگانی با همین Web Standards Project می باشد این ارگان از سال ۱۹۹۸ بر استاندارد های وب نظارت دارد و استاندراد acid را از سال اکتبر سال ۱۹۹۸ در پهنه وب منتشر کرد که کارش فقط چک کردن باکس ها بودش (یادمه رو ویندوز ۹۸ من فقط بازی می کردم و تا حالا رنگ اینترنت هم ندیده بودم اینا استاندارد داشتن تعریف می کردن) ، و اما acid2 در سال از آپریل ۲۰۰۵ تا سال تا مارچ ۲۰۰۸ مورد استاندارد بودش که ویژگی های css 2.1 رو نیز در مرورگر ها نیز مورد بررسی قرار میدادش و از سال مارچ ۲۰۰۸ تا کنون اسید فعلی یعنی ۳ مورد استناد هستش.

Acid Test چیست؟

در قسمت های قبل مقاله توضیحی مختصری این مورد دادیم، در واقع اسید تست پروژه برای سازگاری مرورگر ها با استاندارد های تحت وب می باشد که در ورژن ۱ آن چیزی های که مورد آزمایش قرار میگرفت html4 و خصوصا css 1 بود و در نسخه دوم آن هان html4 و css 2.1  مورد بررسی قرار میگرفت و اما در نسخه سوم آن تقریبا تمامی ویژگی های مرورگر از جمله Document Object Model (DOM) و جاوا اسکریپت مورد بررسی قرار میگیرد.

عملکرد Acid از ابتدا تا کنون و کد های مورد تست:

کد های html و css1 رو مورد بررسی قرار میگرفت و با استناد به w3 این تست با عنوان زیر و خروجی زیر میبودش که اصل css1 و html4 بود:

و خروجی آن به صورت زیر بود:

Acid1_reference

و اما acid 2 که روی css 2.1 زوم کرده بودش ابز هم html 4 و این بار css 2.1 که دودمان Microsoft پس از انتشار آن به باد فنا رفت  اگر دوست داشته باشید میتوند به کدهاش نگاه کنید که چقدر ساده است اما خروجی اصل چی میبایست بود:اطلاعات بیشتر