<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>بایگانی‌های design pattern - بازسازی</title>
	<atom:link href="http://recompile.ir/tag/design-pattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://recompile.ir/tag/design-pattern/</link>
	<description>بازآفرینی دانش به هوشمندی کاربردی</description>
	<lastBuildDate>Mon, 30 Nov 2020 15:12:26 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>http://recompile.ir/wp-content/uploads/2026/06/web-app-manifest-512x512-1-150x150.png</url>
	<title>بایگانی‌های design pattern - بازسازی</title>
	<link>http://recompile.ir/tag/design-pattern/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>الگوهای طراحی خلاقانه &#8211; Creational Design Patterns</title>
		<link>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-creational-design-patterns/</link>
					<comments>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-creational-design-patterns/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Mon, 30 Nov 2020 15:07:04 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[ریفکتور]]></category>
		<category><![CDATA[ریفکتورینگ]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=296</guid>

					<description><![CDATA[<p>Factory Method یک رابط برای ایجاد اشیا در یک ابر کلاس فراهم می کند ، اما به کلاسهای فرعی اجازه می دهد نوع اشیا ایجاد شده را تغییر دهند. Abstract Factory به شما اجازه می دهد اشیا &#160;هم خانواده یا مرتبط را بدون تعیین کلاسهای اصلی آنها تولید کنید. Builder به شما امکان می دهد [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-creational-design-patterns/">الگوهای طراحی خلاقانه &#8211; Creational Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Factory Method</strong></p>



<p class="wp-block-paragraph">یک رابط برای ایجاد اشیا در یک ابر کلاس فراهم می کند ، اما به کلاسهای فرعی اجازه می دهد نوع اشیا ایجاد شده را تغییر دهند.</p>



<p class="wp-block-paragraph"><strong>Abstract Factory</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد اشیا &nbsp;هم خانواده یا مرتبط را بدون تعیین کلاسهای اصلی آنها تولید کنید.</p>



<p class="wp-block-paragraph"><strong>Builder</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد اشیا complex پیچیده را گام به گام بسازید. این الگو به شما امکان می دهد انواع مختلفی از نمایش یک شی را با استفاده از کد ساخت یکسان تولید کنید.</p>



<p class="wp-block-paragraph"><strong>Prototype</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد اشیا موجود را بدون اینکه کدتان به کلاس آنها وابسته باشد ، کپی کنید.</p>



<p class="wp-block-paragraph"><strong>Singleton</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد تا از یک شیء فقط یک نمونه در سراسر برنامه بسازید</p>
<p>بازدیدها: 3</p><p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-creational-design-patterns/">الگوهای طراحی خلاقانه &#8211; Creational Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-creational-design-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>الگوهای رفتاری -Behavioral Design Patterns</title>
		<link>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1%db%8c-behavioral-design-patterns/</link>
					<comments>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1%db%8c-behavioral-design-patterns/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Mon, 30 Nov 2020 15:06:39 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[ریفکتور]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=300</guid>

					<description><![CDATA[<p>Chain of Responsibility به شما امکان می دهد درخواست ها را از طریق زنجیره ای از کلاسها منتقل کنید. با دریافت یک درخواست ، هر یک از کارگزاران (کلاسها) تصمیم می گیرند که درخواست را پردازش کنند یا آن را به مدیر بعدی در زنجیره منتقل کنند. Command یک درخواست را به یک شی مستقل [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1%db%8c-behavioral-design-patterns/">الگوهای رفتاری -Behavioral Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Chain of Responsibility</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد درخواست ها را از طریق زنجیره ای از کلاسها منتقل کنید. با دریافت یک درخواست ، هر یک از کارگزاران (کلاسها) تصمیم می گیرند که درخواست را پردازش کنند یا آن را به مدیر بعدی در زنجیره منتقل کنند.</p>



<p class="wp-block-paragraph"><strong>Command</strong></p>



<p class="wp-block-paragraph">یک درخواست را به یک شی مستقل تبدیل می کند که شامل تمام اطلاعات مربوط به درخواست است. این تحول به شما امکان می دهد روش ها را با درخواست های مختلف پارامتر کنید ، اجرای درخواست را به تأخیر بیاندازید یا در صف قرار بگیرید و از عملیات غیرقابل انعطاف پشتیبانی کنید.</p>



<p class="wp-block-paragraph"><strong>Iterator</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد عناصر یک مجموعه را بدون نمایش نمایانگر اصلی آن (لیست ، stack، treeو غیره) مرور کنید.</p>



<p class="wp-block-paragraph"><strong>Mediator</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد وابستگی های آشفته بین اشیا را کاهش دهید. این الگو ارتباطات مستقیم بین اشیا را محدود می کند و آنها را مجبور به همکاری فقط از طریق یک شی میانجی می کند.</p>



<p class="wp-block-paragraph"><strong>Memento</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد تا وضعیت قبلی یک شی را ذخیره کرده و بازیابی کنید بدون اینکه جزئیات اجرای آن مشخص شود.</p>



<p class="wp-block-paragraph"><strong>Observer</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد مکانیسم اشتراک برای آگاه کردن چندین اشیا در مورد هر رویدادی که برای شی مورد مشاهده آنها رخ می دهد ، تعریف کنید.</p>



<p class="wp-block-paragraph"><strong>State</strong></p>



<p class="wp-block-paragraph">اجازه می دهد یک شی object هنگام تغییر وضعیت داخلی ، رفتار خود را تغییر دهد. به نظر می رسد مثل اینکه شی کلاس خود را تغییر داده باشد.</p>



<p class="wp-block-paragraph"><strong>Strategy</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد تا خانواده ای از الگوریتم ها را تعریف کنید ، هر یک از آنها را در یک کلاس جداگانه قرار دهید و اشیا آنها را جایگزین کنید.</p>



<p class="wp-block-paragraph"><strong>Template Method</strong></p>



<p class="wp-block-paragraph">اسکلت یک الگوریتم در ابر کلاس را تعریف می کند اما به شما اجازه می دهد بدون تغییر ساختار ساختار ، زیر کلاس ها از مراحل خاص الگوریتم override شوند.</p>



<p class="wp-block-paragraph"><strong>Visitor</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد الگوریتم ها را از اشیایی که روی آنها کار می کنند جدا کنید.</p>
<p>بازدیدها: 3</p><p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1%db%8c-behavioral-design-patterns/">الگوهای رفتاری -Behavioral Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b1%d9%81%d8%aa%d8%a7%d8%b1%db%8c-behavioral-design-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>الگوهای طراحی ساختاری &#8211; Structural Design Patterns</title>
		<link>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1%db%8c-structural-patterns/</link>
					<comments>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1%db%8c-structural-patterns/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Mon, 30 Nov 2020 15:06:13 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[ریفکتور]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=298</guid>

					<description><![CDATA[<p>الگوهای ساختاری چگونگی جمع آوری اشیا و کلاسها را به ساختارهای بزرگتر توضیح می دهد در حالی که این ساختارها را انعطاف پذیر و کارآمد نگه می دارد. Adapter به اشیا دارای رابط کاربری (interface)ناسازگار امکان همکاری می دهد. Bridge به شما امکان می دهد یک کلاس بزرگ یا مجموعه ای از کلاسهای نزدیک را [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1%db%8c-structural-patterns/">الگوهای طراحی ساختاری &#8211; Structural Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">الگوهای ساختاری چگونگی جمع آوری اشیا و کلاسها را به ساختارهای بزرگتر توضیح می دهد در حالی که این ساختارها را انعطاف پذیر و کارآمد نگه می دارد.</p>



<p class="wp-block-paragraph"><strong>Adapter</strong></p>



<p class="wp-block-paragraph">به اشیا دارای رابط کاربری (interface)ناسازگار امکان همکاری می دهد.</p>



<p class="wp-block-paragraph"><strong>Bridge</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد یک کلاس بزرگ یا مجموعه ای از کلاسهای نزدیک را به دو سلسله مراتب جداگانه تقسیم کنید &#8211; انتزاع و پیاده سازی &#8211; که می تواند به طور مستقل از یکدیگر توسعه یابد.</p>



<p class="wp-block-paragraph"><strong>Composite</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد اشیا را در ساختارهای درختی ترکیب کنید و سپس با آنها مانند یک کلاس &nbsp;جداگانه کار کنید.</p>



<p class="wp-block-paragraph"><strong>Decorator</strong></p>



<p class="wp-block-paragraph">به شما اجازه می دهد با قرار دادن اشیا در داخل کلاسهایی &nbsp;که مخصوص و حاوی این رفتارها هستند ، رفتارهای جدیدی را به اشیا پیوند دهید.</p>



<p class="wp-block-paragraph"><strong>Facade</strong></p>



<p class="wp-block-paragraph">یک اینترفیس ساده برای کتابخانه ، یک چارچوب یا هر مجموعه پیچیده دیگری از کلاس ها فراهم می کند.</p>



<p class="wp-block-paragraph"><strong>Flyweight</strong></p>



<p class="wp-block-paragraph">به شما امکان می دهد با تقسیم قطعات مشترک حالت بین چندین شی به جای نگهداری تمام داده ها در هر شی ، اشیا بیشتری را در مقدار RAM موجود قرار دهید.</p>



<p class="wp-block-paragraph"><strong>Proxy</strong></p>



<p class="wp-block-paragraph">پروکسی یک الگوی طراحی ساختاری است که به شما امکان می دهد جایگزین یا placeholder دیگری استفاده کنید. پروکسی دسترسی به شی اصلی را کنترل می کند ، به شما امکان می دهد کاری را قبل یا بعد از ورود درخواست به شی اصلی انجام دهید.</p>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1%db%8c-structural-patterns/">الگوهای طراحی ساختاری &#8211; Structural Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1%db%8c-structural-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>دسته بندی الگوهای طراحی</title>
		<link>http://recompile.ir/learning/%d8%af%d8%b3%d8%aa%d9%87-%d8%a8%d9%86%d8%af%db%8c-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c/</link>
					<comments>http://recompile.ir/learning/%d8%af%d8%b3%d8%aa%d9%87-%d8%a8%d9%86%d8%af%db%8c-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Fri, 09 Oct 2020 18:24:20 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[ریفکتور]]></category>
		<category><![CDATA[ریفکتورینگ]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=271</guid>

					<description><![CDATA[<p>الگوهای طراحی از نظر پیچیدگی ، سطح جزئیات و مقیاس کاربرد برای کل سیستم در حال طراحی متفاوت هستند. تشبیه به راه سازی را دوست دارم: شما می توانید با نصب برخی از چراغ های راهنمایی و یا ایجاد یک تپل چند سطحی با معابر زیرزمینی برای عابرین پیاده ، یک تقاطع را ایمن تر [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/%d8%af%d8%b3%d8%aa%d9%87-%d8%a8%d9%86%d8%af%db%8c-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c/">دسته بندی الگوهای طراحی</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">الگوهای طراحی از نظر پیچیدگی ، سطح جزئیات و مقیاس کاربرد برای کل سیستم در حال طراحی متفاوت هستند. تشبیه به راه سازی را دوست دارم: شما می توانید با نصب برخی از چراغ های راهنمایی و یا ایجاد یک تپل چند سطحی با معابر زیرزمینی برای عابرین پیاده ، یک تقاطع را ایمن تر کنید.</p>



<p class="wp-block-paragraph">به ابتدایی ترین و سطح پایین ترین الگوها اغلب اصطلاحا منفرد گفته می شود. آنها معمولاً فقط در یک زبان برنامه نویسی کاربرد دارند.</p>



<p class="wp-block-paragraph">کلی ترین و سطح بالاترین الگوها، الگوهای معماری است. توسعه دهندگان می توانند این الگوها را تقریباً به هر زبانی پیاده سازی کنند. برخلاف الگوهای دیگر ، می توان از آنها برای طراحی معماری کل برنامه استفاده کرد.</p>



<p class="wp-block-paragraph">علاوه بر این ، همه الگوها را می توان با توجه به هدف آنها طبقه بندی کرد. این مطلب شامل سه گروه اصلی از الگوها است:</p>



<ul class="wp-block-list"><li><strong>الگوهای خلاقیت</strong> مکانیسم های ساخت شی را ایجاد می کنند که انعطاف پذیری و استفاده مجدد از کد موجود را افزایش می دهد.</li></ul>



<ul class="wp-block-list"><li><strong>الگوهای ساختاری</strong> نحوه جمع آوری اشیا و کلاسها را به ساختارهای بزرگتر توضیح می دهد ، در حالی که سازه ها را انعطاف پذیر و کارآمد نگه می دارد.</li></ul>



<ul class="wp-block-list"><li><strong>الگوهای رفتاری</strong> از برقراری ارتباط موثر و تعیین مسئولیت بین اشیا مراقبت می کنند.</li></ul>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/%d8%af%d8%b3%d8%aa%d9%87-%d8%a8%d9%86%d8%af%db%8c-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c/">دسته بندی الگوهای طراحی</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/%d8%af%d8%b3%d8%aa%d9%87-%d8%a8%d9%86%d8%af%db%8c-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>نقد الگوهای طراحی – Design Pattern</title>
		<link>http://recompile.ir/learning/%d9%86%d9%82%d8%af-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-pattern/</link>
					<comments>http://recompile.ir/learning/%d9%86%d9%82%d8%af-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-pattern/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Fri, 09 Oct 2020 17:54:16 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Refactoring]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=266</guid>

					<description><![CDATA[<p>به نظر می رسد که فقط افراد تنبل هنوز الگوهای طراحی را نقد نکرده اند. بیایید نگاهی بیندازیم به معمولی ترین استدلال ها در مورد استفاده از الگوها. کمکی  برای یک زبان برنامه نویسی ضعیف معمولاً نياز به الگوها هنگامي بوجود مي آيد كه افراد يك زبان برنامه نويسي يا فن آوري را انتخاب كنند [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/%d9%86%d9%82%d8%af-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-pattern/">نقد الگوهای طراحی – Design Pattern</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">به نظر می رسد که فقط افراد تنبل هنوز الگوهای طراحی را نقد نکرده اند. بیایید نگاهی بیندازیم به معمولی ترین استدلال ها در مورد استفاده از الگوها.</p>



<p class="wp-block-paragraph"><strong>کمکی  برای یک زبان برنامه نویسی ضعیف</strong></p>



<p class="wp-block-paragraph">معمولاً نياز به الگوها هنگامي بوجود مي آيد كه افراد يك زبان برنامه نويسي يا فن آوري را انتخاب كنند كه فاقد سطح لازم از انتزاع باشد. در این حالت ، الگوها به ابزار کمکی تبدیل می شوند که توانایی های فوق العاده مورد نیاز را به زبان می دهد.</p>



<p class="wp-block-paragraph">به عنوان مثال ، الگوی استراتژی را می توان با یک تابع ساده anonymous &nbsp;(lambda) در اکثر زبان های برنامه نویسی مدرن پیاده سازی کرد.</p>



<p class="wp-block-paragraph"><strong>راه حل های ناکارآمد</strong></p>



<p class="wp-block-paragraph">الگوها سعی می کنند رویکردهایی را که قبلاً به طور گسترده مورد استفاده قرار گرفته اند ، سیستم سازی کنند. این وحدت توسط بسیاری به عنوان یک اجبار در نظر گرفته می شود و آنها الگوها را خط به خط اجرا می کنند ، بدون اینکه آنها را با متن پروژه خود سازگار کنند.</p>



<p class="wp-block-paragraph"><strong>استفاده غیرموجه</strong></p>



<p class="wp-block-paragraph">اگر هرچه دارید چکش است ، همه چیز به نظر میخ می رسد.</p>



<p class="wp-block-paragraph">این همان مشکلی است که بسیاری از تازه کارانی را که تازه با الگوها آشنا شده اند تعقیب می کند. آنها با آموختن الگوها ، سعی در به کار بردن آنها در همه جا دارند ، حتی در شرایطی که کد ساده تر به خوبی انجام می شود.</p>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/%d9%86%d9%82%d8%af-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-pattern/">نقد الگوهای طراحی – Design Pattern</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/%d9%86%d9%82%d8%af-%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-pattern/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>تاریخچه الگو ها (Design Patterns)</title>
		<link>http://recompile.ir/learning/design-pattern/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%a7%d9%84%da%af%d9%88-%d9%87%d8%a7-design-patterns/</link>
					<comments>http://recompile.ir/learning/design-pattern/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%a7%d9%84%da%af%d9%88-%d9%87%d8%a7-design-patterns/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Wed, 02 Sep 2020 17:55:52 +0000</pubDate>
				<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[دیزاین پترن]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=184</guid>

					<description><![CDATA[<p>چه کسی الگوها را اختراع کرد؟ این سوال خوبی است ، اما خیلی دقیق نیست. الگوهای طراحی ، مفاهیم مبهم و پیچیده ای نیستند &#8211; درست برعکس الگوها راه حلهای معمولی برای مشکلات رایج در طراحی شی گرا هستند. وقتی یک راه حل در پروژه های مختلف بارها و بارها تکرار می شود ، سرانجام [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/design-pattern/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%a7%d9%84%da%af%d9%88-%d9%87%d8%a7-design-patterns/">تاریخچه الگو ها (Design Patterns)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">چه کسی <a href="http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/" title="الگوهای طراحی – Design Patterns">الگوها</a> را اختراع کرد؟ این سوال خوبی است ، اما خیلی دقیق نیست. الگوهای طراحی ، مفاهیم مبهم و پیچیده ای نیستند &#8211; درست برعکس الگوها راه حلهای معمولی برای مشکلات رایج در طراحی شی گرا هستند. وقتی یک راه حل در پروژه های مختلف بارها و بارها تکرار می شود ، سرانجام شخصی برای آن نامی می گذارد و راه حل را با جزئیات شرح می دهد. این چگونگی کشف  یک الگو است.</p>



<p class="wp-block-paragraph">مفهوم الگوها اولین بار توسط کریستوفر الكساندر (Christopher Alexander) در کتاب A Pattern Language: Towns, Buildings, Construction &nbsp;توصیف شد. این کتاب یک &#8220;زبان&#8221; برای طراحی محیط شهری را توصیف می کند. واحدهای این زبان الگوها هستند. آنها ممکن است توصیف کنند که پنجره های بالا باید چقدر باشد ، یک ساختمان باید چند سطح داشته باشد ، چقدر فضای سبز بزرگ در یک محله باید باشد و غیره.</p>



<p class="wp-block-paragraph">این ایده توسط گروهی به اسم Gang of Four شامل چهار نویسنده به نامهای اریش گاما ، جان ویلیسیدس ، رالف جانسون و ریچارد هلم (Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm.) تکمیل شد. در سال 1994 ، آنها Design Patterns: Elements of Reusable Object-Oriented Software را منتشر کردند ، که در آن آنها مفهوم الگوهای طراحی را برای برنامه نویسی به کار بردند. این کتاب شامل 23 الگوی حل کننده مشکلات مختلف طراحی شی گرا بود و خیلی زود به پرفروش ترین کتاب تبدیل شد. به دلیل طولانی بودن نام ، مردم آن را &#8220;کتاب گروه چهار نفره&#8221; نامیدند که به زودی به &#8220;کتاب GoF &nbsp;&#8221; خلاصه شد.</p>



<p class="wp-block-paragraph">از آن زمان ، ده ها <a href="http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/" title="الگوهای طراحی – Design Patterns">الگوی </a>شی گرا دیگر کشف شده است. &#8220;رویکرد الگو&#8221; در سایر زمینه های برنامه نویسی بسیار محبوب شد ، بنابراین بسیاری از الگوهای دیگر هم اکنون خارج از طراحی شی گرا نیز وجود دارد.</p>



<p class="wp-block-paragraph">در نوشته های بعدی به دسته بندی و توضیحات این الگوها می پردازیم.</p>
<p>بازدیدها: 3</p><p>نوشته <a href="http://recompile.ir/learning/design-pattern/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%a7%d9%84%da%af%d9%88-%d9%87%d8%a7-design-patterns/">تاریخچه الگو ها (Design Patterns)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/design-pattern/%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%a7%d9%84%da%af%d9%88-%d9%87%d8%a7-design-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>الگوهای طراحی &#8211; Design Patterns</title>
		<link>http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/</link>
					<comments>http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Tue, 01 Sep 2020 18:58:29 +0000</pubDate>
				<category><![CDATA[الگوها(Design Pattern)]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[الگوهای طراحی]]></category>
		<category><![CDATA[دیزاین پترن]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=172</guid>

					<description><![CDATA[<p>الگوی طراحی چیست؟ الگوهای طراحی(دیزاین پترن) راه حل های معمول برای مشکلات معمول در طراحی نرم افزار است. آنها مانند نقشه های از پیش ساخته شده ای هستند که می توانید آنها را برای حل مشکلات طراحی تکراری در کد خود سفارشی کنید. اصولا نمی شود یک الگو را پیدا کنید و آن را در [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/">الگوهای طراحی &#8211; Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>الگوی طراحی چیست؟</strong><strong></strong></p>



<p class="wp-block-paragraph">الگوهای طراحی(دیزاین پترن) راه حل های معمول برای مشکلات معمول در طراحی نرم افزار است. آنها مانند نقشه های از پیش ساخته شده ای هستند که می توانید آنها را برای حل مشکلات طراحی تکراری در کد خود سفارشی کنید.</p>



<p class="wp-block-paragraph">اصولا نمی شود یک الگو را پیدا کنید و آن را در برنامه خود کپی کنید ، همانطور که نمی توانید از library ها (کتابخانه ها) به این کل استفاده کنید. الگو کد خاصی نیست ، بلکه یک مفهوم کلی برای حل یک مسئله خاص است. می توانید جزئیات الگو را بررسی کنید و راه حلی را متناسب با واقعیت برنامه خود اجرا کنید.</p>



<p class="wp-block-paragraph">الگوها اغلب با الگوریتم ها اشتباه گرفته می شوند ، زیرا هر دو مفهوم راه حل های معمول برخی از مشکلات شناخته شده را توصیف می کنند. در حالی که یک الگوریتم همیشه مجموعه مشخصی از اقدامات را تعریف می کند که می تواند به هدفی برسد ، در صورتیکه الگو ها در سطح بالاتر قرار دارند. کد یک الگوی اعمال شده برای دو برنامه مختلف ممکن است متفاوت باشد.</p>



<p class="wp-block-paragraph">در تشبیه به الگوریتم مثل یک دستور العمل پخت و پز است: هر دو مراحل مشخصی برای رسیدن به یک هدف دارند. از طرف دیگر ، یک الگوی بیشتر شبیه یک طرح اولیه است: شما می توانید ببینید که نتیجه و ویژگی های آن چیست ، اما ترتیب دقیق اجرای آن به شما بستگی دارد.</p>



<p class="wp-block-paragraph"><strong>الگو(پترن) از چه چیزی تشکیل شده است؟</strong><strong></strong></p>



<p class="wp-block-paragraph">بیشتر الگوها بسیار رسمی توصیف می شوند ، بنابراین افراد می توانند آنها را درمفاهیم مختلف تفسیر کنند.</p>



<p class="wp-block-paragraph">موارد زیر بخشهایی هستند که در تعریف یک الگو معمولا وجود دارند:</p>



<p class="wp-block-paragraph"><strong>هدف</strong> &nbsp;ابطور خلاصه توضیحاتی در مورد هدف الگو داده می شود</p>



<p class="wp-block-paragraph"><strong>کاربرد</strong> هم مسئله و راه حل ممکن را برای الگو توضیح می دهد.</p>



<p class="wp-block-paragraph"><strong>ساختار</strong> وضعیت کلاسها و هر قسمت از الگو و نحوه ارتباط آنها را نشان می دهد.</p>



<p class="wp-block-paragraph"><strong>کد سمپل</strong> ارائه کد مثال در یکی از زبانهای برنامه نویسی درک الگو را ساده تر می کند</p>



<p class="wp-block-paragraph">الگوهای طراحی جزو معماری‌های نرم افزاری نیستند و فقط شیوه ای صحیح از کدنویسی شی گرا را ارائه می‌دهند. بنابراین این الگوها فقط در قلمرو کدنویسی شی گرا وارد می‌شوند و مستقل از زبان‌های برنامه نویسی هستند.</p>



<p class="wp-block-paragraph"><strong>در پستهای بعدی در مورد تاریخچه، دسته بندی و توضیح هر کدام از الگوها خواهیم نوشت.</strong></p>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/">الگوهای طراحی &#8211; Design Patterns</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/design-pattern/%d8%a7%d9%84%da%af%d9%88%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-design-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
