خرید بک لینک
حوزه: Objectهدف: Behavioralنقش الگو این الگو یک راه حل برای حالتی است که، در آن درخواستهایی از کاربر به برنامه میرسد و باید با توجه به شرایطی به این درخواستها پاسخ داده شود و در موارد زیر کاربرد دارد. زمانی که برای پاسخ دادن به درخواست کاربر بیش از یک Handler (که میتواند یک برنامه، یک thread،شیادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 10 خرداد 1396 ساعت: 17:56

مقدمه

ابتدا مقدمهای در مورد کلاسهای abstract میآوریم. از کلاسها نمیتوان یک نمونه ساخت؛ اما سوال این است که چرا ما به کلاسهایی نیاز داریم که نمیتوان یک نمونه از آنها ایجاد کرد؟ این کلاسها قابلیت ارثبری دارند، به طور کلی نمیتوان از آنها یک نمونه ایجاد کرد، ولی کلاسهای دیگر میتوانند از آن به ارث برسند.

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: شنبه 21 اسفند 1395 ساعت: 3:32

حوزه: Object هدف: Structuralنقش الگو الگوی Composite در عمل یک Collection Patte (الگوی مجموعهای) است. که میتوان در درون آن ترکیبی از زیر مجموعههای مختلف را قرار داد و سپس هر زیر مجموعه را به نوبه خود فراخوانی نمود. به بیان دیگر الگوی Composite به ما کمک میکند که در یک ساختار درختی بتوانیم مجموعه ای (Collection ی)، از بخشی از آبجکتهای سلسله مراتبی را نمایش دهیم. این الگو به Client اجازه میدهد، که رفتار یکسانی نسبت به یک Collection ی از آبجکتها یا یک آبجکت تنها داشته باشد. ادامه مطلبادامه مطلب

برچسب: الگوی طراحی composite, نویسنده: سجاد شمس تاريخ: سه شنبه 4 آبان 1395 ساعت: 14:33

حوزه: Object هدف: Structuralنقش الگوGOF(Gang of Four) این الگو را به این شکل تعریف کردهاند که "با استفاده از Builder Patte، ساختار (construction) اشیاء پیچیده را از نمایش (representation) آن جدا میکنیم. بنابراین میتوان با یک فرایند ساخت، چند نمایش مختلف ایجاد کرد ". همانطور که از نام آن مشخص است، از این الگو برای ساخت اشیاء به صورت جزء به جزء یا به عبارت دیگر مرحله به مرحله استفاده میشود. منطق پیچیده ساخت شی از client جدا شده است و client با ارسال مجموعهای از جزئیات، شی و اطلاعات مورد نیاز را بدست می آورد. ادامه مطلبادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Objectهدف: Behavioralنقش الگو حالتی را تصور کنید که چند شی در برنامه وجود دارد که تغییر حالات یک شی دیگر را دنبال میکنند و با توجه به هر تغییر عملی را انجام میدهند. شاید اولین راه حلی که در این حالت یافت شود، این است که اشیا در یک حلقه، شی مورد نظر را بررسی کنند تا اگر تغییری به وجود آمده بود با توجه به آن کاری انجام دهند. اما این بدترین راه حل است و باعث افت کارایی و همچنین طراحی بد برنامه خواهد شد. برای حل این مسئله الگوی Observer معرفی میشود. ادامه مطلبادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Object هدف: Behavioralنقش الگواین الگو یک الگوی رفتاری یا Behavioral میباشد. الگوهای رفتاری با الگوریتمها و ارتباط بین آنها درگیر میباشند. اگر برنامه ما یک الگوریتم یکتا را پیاده سازی میکند گرچه ممکن است از چندین کلاس استفاده کند ولی به خاطر بالا رفتن پیچیدگی ممکن است که برای مدیریت برنامه و نگهداری کد مشکلاتی به جود بیاید. ما با استفاده از الگوهای طراحی رفتاری سعی میکنیم که از این پیچیدگی ها کم کنیم. ادامه مطلبادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Object
هدف: Creational
نقش الگو

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

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Object هدف: Structuralنقش الگو پروکسی به معنی نماینده یا واسط است و پروکسی واسطی است بین ما و شیء اصلی. پروکسی در شبکه به این معنی است که سیستم شما به یک سیستم واسط متصل شده است که از طریق پروکسی محدودیتهای دسترسی برای آن تعریف شود. در اینجا هم پروکسی در واقع به همین منظور استفاده میشود. به عنوان مثال فرض کنید که شما یک برنامه ساده کار با فایل را دارید. اگر بخواهید اعتبارسنجیهایی را برای آن تعریف کنید، بهتر است اینکار را به یک پروکسی بسپارید تا شیء گرایی بهتری را داشته باشید. ادامه مطلبادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Class
هدف: Behavioral
نقش الگو

بعضی از مردم نمیتوانند زندگی را بدون قهوه تصور کنند و بعضی دیگر زندگی را بدون چای نمیتوانند تصور کنند. ولی جزء تشکیل دهنده اصلی هر دو کافئین است. شباهتهای دیگر نیز بین این دو مورد وجود دارد. روش ساخت هر دوی آنها تقریبا مشابه است. شما اغلب موارد به ترتیب زیر عمل میکنید.

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

اصل اول: Encapsulate what varies
"آنچه را که تغییر میکند مشخص و جدا کن یا به عبارتی آنرا کپسوله کن"
برای آنکه بتوانیم کدی منعطف، قابل استفاده مجدد و خوانا داشته باشیم، ابتدا باید بخشهای ثابت و متغیر کد را تشخیص دهیم و کاری کنیم تا بخش ثابت، بدون تکرار در جای جای برنامه استفاده شود و سپس برای بخش متغیر برنامه ریزی کنیم.

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

معمولاً انتخاب یک License برای انتشار پروژههای اوپن سورس و یا محتوا کار سختی به نظر میرسد؛ برای همین تصمیم گرفتم تفاوت لایسنسهای رایج را بررسی نموده و آنها را طوری مطرح کنم که همه سریع و راحت بتوانند متوجه بشوند:

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

جاوا دارای قابلیت بارگذاری پویا میباشد، یعنی در زمان اجرای یک برنامه وقتی که به یک کلاس احتیاج میشود آنرا بارگذاری میکند. که میتوان اصطلاحا Lazy Loading هم نامید که در ORM هایی مثل Hibeate هم استفاده میشود. Class Loader ها کلاسهای شامل بایت کدها را در یک منطقهای به اسم Runtime Data Areas قرار میدهد و موتور اجرا کننده (Execution Engine) بایت کدها را اجرا میکند.

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

حوزه: Object
هدف: Structural
نقش الگو

یک الگوی رایج که توسط کلاینتهای SOA استفاده میگردد، الگوی Facade است. الگوی Facade برای ساده سازی واسط یک زیر سیستم یا گروهی از زیرسیستمها به کار میرود و به کلاینت، یک API ساده و شفاف میدهد تا با سایر APIها سازگار باشد.

ادامه مطلب

برچسب: نویسنده: سجاد شمس تاريخ: چهارشنبه 7 مهر 1395 ساعت: 0:44

صفحه بندی