الگوی طراحی(Chain of Responsibility) - تاریخ: 1396/3/10 ساعت: 17:56
حوزه: Objectهدف: Behavioralنقش الگو این الگو یک راه حل برای حالتی است که، در آن درخواستهایی از کاربر به برنامه میرسد و باید با توجه به شرایطی به این درخواستها پاسخ داده شود و در موارد زیر کاربرد دارد. زمانی که برای پاسخ دادن به درخواست کاربر بیش از یک Handler (که میتواند یک برنامه، یک thread،شی
آشنایی با Interface و کلاس Abstract - تاریخ: 1395/12/21 ساعت: 3:32
مقدمه ابتدا مقدمهای در مورد کلاسهای abstract میآوریم. از کلاسها نمیتوان یک نمونه ساخت؛ اما سوال این است که چرا ما به کلاسهایی نیاز داریم که نمیتوان یک نمونه از آنها ایجاد کرد؟ این کلاسها قابلیت ارثبری دارند، به طور کلی نمیتوان از آنها یک نمونه ایجاد کرد، ولی کلاسهای دیگر میتوانند از آن به ارث برسند....
الگوی طراحی(Composite) - تاریخ: 1395/8/4 ساعت: 14:33
حوزه: Object هدف: Structuralنقش الگو الگوی Composite در عمل یک Collection Patte (الگوی مجموعهای) است. که میتوان در درون آن ترکیبی از زیر مجموعههای مختلف را قرار داد و سپس هر زیر مجموعه را به نوبه خود فراخوانی نمود. به بیان دیگر الگوی Composite به ما کمک میکند که در یک ساختار درختی بتوانیم مجموعه ای ...
الگوی طراحی(Builder) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Object هدف: Structuralنقش الگوGOF(Gang of Four) این الگو را به این شکل تعریف کردهاند که "با استفاده از Builder Patte ، ساختار (construction) اشیاء پیچیده را از نمایش (representation) آن جدا میکنیم. بنابراین میتوان با یک فرایند ساخت، چند نمایش مختلف ایجاد کرد ". همانطور که از نام آن مشخص است، ا...
الگوی طراحی(Observer) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Objectهدف: Behavioralنقش الگو حالتی را تصور کنید که چند شی در برنامه وجود دارد که تغییر حالات یک شی دیگر را دنبال میکنند و با توجه به هر تغییر عملی را انجام میدهند. شاید اولین راه حلی که در این حالت یافت شود، این است که اشیا در یک حلقه، شی مورد نظر را بررسی کنند تا اگر تغییری به وجود آمده بود ...
الگوی طراحی(Strategy) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Object هدف: Behavioralنقش الگواین الگو یک الگوی رفتاری یا Behavioral میباشد. الگوهای رفتاری با الگوریتمها و ارتباط بین آنها درگیر میباشند. اگر برنامه ما یک الگوریتم یکتا را پیاده سازی میکند گرچه ممکن است از چندین کلاس استفاده کند ولی به خاطر بالا رفتن پیچیدگی ممکن است که برای مدیریت برنامه و ن...
الگوی طراحی(Prototype) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Object هدف: Creationalنقش الگو در زمانی که نیاز به شیهای مشابه باشد و ساخت هر شی منابع زیادی از سیستم را اشغال کند، این الگو طراحی میتوان گزینه مناسبی باشد تا یک کپی از شی مورد نظر برای ما ایجاد نماید. در واقع میتوان گفت مزیت الگوی طراحی Prototype سرعت بالاتر آن است بدلیل اینکه کپی کردن یک شئx...
الگوی طراحی(Proxy) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Object هدف: Structuralنقش الگو پروکسی به معنی نماینده یا واسط است و پروکسی واسطی است بین ما و شیء اصلی. پروکسی در شبکه به این معنی است که سیستم شما به یک سیستم واسط متصل شده است که از طریق پروکسی محدودیتهای دسترسی برای آن تعریف شود. در اینجا هم پروکسی در واقع به همین منظور استفاده میشود. به عن...
الگوی طراحی(Template method) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Classهدف: Behavioralنقش الگو بعضی از مردم نمیتوانند زندگی را بدون قهوه تصور کنند و بعضی دیگر زندگی را بدون چای نمیتوانند تصور کنند. ولی جزء تشکیل دهنده اصلی هر دو کافئین است. شباهتهای دیگر نیز بین این دو مورد وجود دارد. روش ساخت هر دوی آنها تقریبا مشابه است. شما اغلب موارد به ترتیب زیر عمل میک...
اصول طراحی شیء گرا (OO Design Principles) - تاریخ: 1395/7/7 ساعت: 0:44
اصل اول: Encapsulate what varies"آنچه را که تغییر میکند مشخص و جدا کن یا به عبارتی آنرا کپسوله کن"برای آنکه بتوانیم کدی منعطف، قابل استفاده مجدد و خوانا داشته باشیم، ابتدا باید بخشهای ثابت و متغیر کد را تشخیص دهیم و کاری کنیم تا بخش ثابت، بدون تکرار در جای جای برنامه استفاده شود و سپس برای بخش متغیر...
انتخاب لایسنس برای انتشار محتوا و پروژه(کد) - تاریخ: 1395/7/7 ساعت: 0:44
معمولاً انتخاب یک License برای انتشار پروژههای اوپن سورس و یا محتوا کار سختی به نظر میرسد؛ برای همین تصمیم گرفتم تفاوت لایسنسهای رایج را بررسی نموده و آنها را طوری مطرح کنم که همه سریع و راحت بتوانند متوجه بشوند: ادامه مطلب
تشریح Class Loader در JVM - تاریخ: 1395/7/7 ساعت: 0:44
جاوا دارای قابلیت بارگذاری پویا میباشد، یعنی در زمان اجرای یک برنامه وقتی که به یک کلاس احتیاج میشود آنرا بارگذاری میکند. که میتوان اصطلاحا Lazy Loading هم نامید که در ORM هایی مثل Hibe ate هم استفاده میشود. Class Loader ها کلاسهای شامل بایت کدها را در یک منطقهای به اسم Runtime Data Areas قرار میدهد...
الگوی طراحی(Facade) - تاریخ: 1395/7/7 ساعت: 0:44
حوزه: Object هدف: Structuralنقش الگو یک الگوی رایج که توسط کلاینتهای SOA استفاده میگردد، الگوی Facade است. الگوی Facade برای ساده سازی واسط یک زیر سیستم یا گروهی از زیرسیستمها به کار میرود و به کلاینت، یک API ساده و شفاف میدهد تا با سایر APIها سازگار باشد. ادامه مطلب

برچسب‌های مرتبط

الگوی طراحی composite |