✅ الگوی طراحی Factory Method ✅
الگوی Factory یکی از الگوهای دستهی ایجادی است. مفهوم الگوی كارخانه، دقيقا از معني لغوي آن مشخص است. كارخانه مكاني است كه در آن كالاها و محصولاتي توليد ميشود، و در بحث الگوهاي طراحي، يك Factory كلاسي است كه نمونههايی از كلاسهاي ديگر را با توجه به پارامترهايی كه براي آن ارسال ميشود، ايجاد ميكند.
این الگو پیچیدگی ایجاد اشیا را برای کاربر پنهان میکند.
با استفاده از این الگو میتوانیم بدون اینکه کلاس دقیق یک شی را مشخص کنیم آن را ایجاد و از آن استفاده کنیم.
کاربر معمولا شی واقعی را ایجاد نمیکند، بلکه با یک واسط و یا کلاس انتزاعی در ارتباط است و کل مسئولیت ایجاد کلاس واقعی را به Factory Method میسپارد.
⬅️⬅️ نتیجه
بنابراین با استفاده از این الگو میتوانیم نمونهسازی از کلاسها را بدون دانستن جزئیات پیادهسازی آنها انجام دهیم. همچنین الگوی Factory این امکان را فراهم میآورد که محصول جدیدی را به راحتی و بدون نیاز به تغییر کد، به محصولاتمان اضافه کنیم
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
الگوی Factory یکی از الگوهای دستهی ایجادی است. مفهوم الگوی كارخانه، دقيقا از معني لغوي آن مشخص است. كارخانه مكاني است كه در آن كالاها و محصولاتي توليد ميشود، و در بحث الگوهاي طراحي، يك Factory كلاسي است كه نمونههايی از كلاسهاي ديگر را با توجه به پارامترهايی كه براي آن ارسال ميشود، ايجاد ميكند.
این الگو پیچیدگی ایجاد اشیا را برای کاربر پنهان میکند.
با استفاده از این الگو میتوانیم بدون اینکه کلاس دقیق یک شی را مشخص کنیم آن را ایجاد و از آن استفاده کنیم.
کاربر معمولا شی واقعی را ایجاد نمیکند، بلکه با یک واسط و یا کلاس انتزاعی در ارتباط است و کل مسئولیت ایجاد کلاس واقعی را به Factory Method میسپارد.
⬅️⬅️ نتیجه
بنابراین با استفاده از این الگو میتوانیم نمونهسازی از کلاسها را بدون دانستن جزئیات پیادهسازی آنها انجام دهیم. همچنین الگوی Factory این امکان را فراهم میآورد که محصول جدیدی را به راحتی و بدون نیاز به تغییر کد، به محصولاتمان اضافه کنیم
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ الگوی طراحی Factory Method ✅
👌👌 مثال
یک فروشگاه پوشاک را در نظر بگیرید. هر زمان كه فروشگاه به لباس خاصي نياز داشته باشد، اسامي آن را به توليد كننده ارسال ميكند و توليدكننده با توجه به اسامي ارسال شده آن لباسها را توليد كرده و به فروشگاه ارسال ميكند. در اين مثال توليدكننده همان كلاس Factory است كه با توجه به پارامترهاي ارسال شده (ليست پوشاك مورد نظر فروشگاه) لباس موردنظر (شي موردنظر) را توليد ميكند و به مشتري ارسال ميكند.
👌👌مثال: فراهم کردن میوه آوکادو
اگر یک میوه فروشی موجود باشد که در کل روزهای سال میوه آوکادو می فروشد. این میوه فروشی باید مطمئن باشد که می تواند در طول سال می تواند این میوه را از کشاورزان تهیه نماید. این میوه فروشی باید از نواحی و کشورهای مختلف این میوه را در طول سال خریده و در داخل فروشگاه عرضه نماید. این میوه در کشورهای اسپانیا، آفریقای جنوبی و کنیان در فصل های متفاوتی رشد می کند. الگوی Factory Method شبیه به این میوه فروشی عمل می کند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
👌👌 مثال
یک فروشگاه پوشاک را در نظر بگیرید. هر زمان كه فروشگاه به لباس خاصي نياز داشته باشد، اسامي آن را به توليد كننده ارسال ميكند و توليدكننده با توجه به اسامي ارسال شده آن لباسها را توليد كرده و به فروشگاه ارسال ميكند. در اين مثال توليدكننده همان كلاس Factory است كه با توجه به پارامترهاي ارسال شده (ليست پوشاك مورد نظر فروشگاه) لباس موردنظر (شي موردنظر) را توليد ميكند و به مشتري ارسال ميكند.
👌👌مثال: فراهم کردن میوه آوکادو
اگر یک میوه فروشی موجود باشد که در کل روزهای سال میوه آوکادو می فروشد. این میوه فروشی باید مطمئن باشد که می تواند در طول سال می تواند این میوه را از کشاورزان تهیه نماید. این میوه فروشی باید از نواحی و کشورهای مختلف این میوه را در طول سال خریده و در داخل فروشگاه عرضه نماید. این میوه در کشورهای اسپانیا، آفریقای جنوبی و کنیان در فصل های متفاوتی رشد می کند. الگوی Factory Method شبیه به این میوه فروشی عمل می کند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
دانلود فایل pdf الگوریتم و فلو چارت
https://goo.gl/a473ng
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
https://goo.gl/a473ng
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🛑💯 #مهم #بازارکار
نیاز های دوماه اخیر بازار کار برنامه نویسی و کار با کامپیوتر در ایران
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویس ارشد python مسلط به پیاده سازی راهکارهای مبتنی بر فناوری فراشبکه (Over The Top(OTT و شبکه توزیع محتوا
Content Delivery Network(CDN)
○ jQuery, Ajax, Angular JS
○ MVC سمت #C و ASP . NET
○ برنامه نويس لینوکس مسلط به Python پايتون و C زبان
○ برنامه نویس حرفه ای و متخصص توسعه دهنده پایگاه داده SQL SERVER با شرایط ذیل:
مسلط به Database tuning
مسلط به OPTIMIZE TABLE
مسلط به FTS در SQL Server
مسلط به مفهوم پردازش پراکنده (Distributed Processing) و Distributed Database در SQL
مسلط به INDEX گذاری در SQL
تسلط بر کار با NewSQL Database ها
○ برنامه نویس لینوکس حرفه ای:
مسلط به مفاهیم لینوکس
مسلط به برنامه نویسی c , python, php
آشنا با مفاهیم کلی شبکه
○ شبکه کار متخصص و حرفه ای
○ گرافیست خلاق و بسیار سریع
○ اینفوگرافیست مسلط
○ موشن گرافیست بسیار حرفه ای
○ تایپیست حرفه ای و سریع
✅همیشه ببینید نیاز های جامعه چی هست همه جا کار هست
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
نیاز های دوماه اخیر بازار کار برنامه نویسی و کار با کامپیوتر در ایران
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویس ارشد python مسلط به پیاده سازی راهکارهای مبتنی بر فناوری فراشبکه (Over The Top(OTT و شبکه توزیع محتوا
Content Delivery Network(CDN)
○ jQuery, Ajax, Angular JS
○ MVC سمت #C و ASP . NET
○ برنامه نويس لینوکس مسلط به Python پايتون و C زبان
○ برنامه نویس حرفه ای و متخصص توسعه دهنده پایگاه داده SQL SERVER با شرایط ذیل:
مسلط به Database tuning
مسلط به OPTIMIZE TABLE
مسلط به FTS در SQL Server
مسلط به مفهوم پردازش پراکنده (Distributed Processing) و Distributed Database در SQL
مسلط به INDEX گذاری در SQL
تسلط بر کار با NewSQL Database ها
○ برنامه نویس لینوکس حرفه ای:
مسلط به مفاهیم لینوکس
مسلط به برنامه نویسی c , python, php
آشنا با مفاهیم کلی شبکه
○ شبکه کار متخصص و حرفه ای
○ گرافیست خلاق و بسیار سریع
○ اینفوگرافیست مسلط
○ موشن گرافیست بسیار حرفه ای
○ تایپیست حرفه ای و سریع
✅همیشه ببینید نیاز های جامعه چی هست همه جا کار هست
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
This media is not supported in your browser
VIEW IN TELEGRAM
✅دسك تاپ ويندوز 10 اينطوري عكس برداري شده است ✅
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت اول
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت اول لینک دانلود https://goo.gl/2HdqMu 🍃💐🍃🌸🍃🌸🍃 گروه برنامه نویسی هیلتن😎👇 🆔 @HeiltonProgramming 🍃💐🍃🌸🍃🌸🍃
(Heilton.com)Boot Strap1.zip
119.8 MB
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت اول
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
This media is not supported in your browser
VIEW IN TELEGRAM
مصداق بارز جمله
سخت تلاش نکن ، هوشمندانه تلاش کن👌
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
سخت تلاش نکن ، هوشمندانه تلاش کن👌
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
(Heilton.com)Boot Strap1.zip
(Heilton.com)Boot Strap2.zip
122.9 MB
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت دوم
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
آموزش فتوشاپ کامل و کاربردی
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
http://www.aparat.com/v/FQqIr
آموزش فتوشاپ کامل و کاربردی
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
آموزش فتوشاپ کامل و کاربردی
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
آپارات - سرویس اشتراک ویدیو
فیلم آموزش کامل و جامع فتو شاپ با مثال های کاربردی
فتوشاپ’ ، امروز محبوب ترین نرم افزار در میان کاربران است که لایه ها ، فیلترها ، براش ، متن ، اشیاء ۳D ، فیلم ها ، و غیره را پشتیبانی می کند
www.heilton.com
فیلم آموزش کامل و جامع فتو شاپ با مثال های کاربردی
www.heilton.com
فیلم آموزش کامل و جامع فتو شاپ با مثال های کاربردی
آموزش فتوشاپ کامل و کاربردی
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود
👇
https://goo.gl/4Lxup9
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
(Heilton.com)Boot Strap2.zip
(Heilton.com)Boot Strap3.zip
55.6 MB
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت سوم
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🚨🚨خبرفوری
بالاخره #تماس_صوتی تلگرام برای ایران فعال شد
آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
بالاخره #تماس_صوتی تلگرام برای ایران فعال شد
آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
🚨🚨خبرفوری بالاخره #تماس_صوتی تلگرام برای ایران فعال شد آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻 🍃💐🍃🌸🍃🌸🍃 گروه برنامه نویسی هیلتن😎👇 🆔 @HeiltonProgramming 🍃💐🍃🌸🍃🌸🍃
چگونه تماس صوتی تلگرام را فعال کنیم؟
🔰قابلیت تماس صوتی تلگرام رسما برای کاربران ایرانی فعال شد
از حدودا یک ماه پیش تلگرام قابلیت تماس صوتی را برای کاربران خود در اروپا فعال ساخت. اما این قابلیت تا به امروز برای کاربران ایرانی فعال نبود. از امروز کاربران ایرانی نیز میتوانند از قابلیت تماس صوتی تلگرام استفاده کنند اما چگونه؟
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
👈در صورتی که همینک از آخرین نسخه تلگرام استفاده میکنید، کافیست یکی از کسانی که قابلیت تماس صوتی برای وی فعال شده است با شما تماس گرفته یا یک تماس از دست رفته با شما داشته باشد. بعد از آن شما میتوانید از قابلیت تماس صوتی بر روی تلگرام خود استفاده کنید.
👈این قابلیت برای نسخه های اندروید و iOS فعال بوده و برای کاربران ویندوزی (دسکتاپ و ویندوزفون) هنوز فعال نشده است.
👈تلگرام برای برقراری تماس تلفنی از اتصال همتا به همتا (Peer to Peer) استفاده میکند تا کیفیت بالایی در تماس اینترنتیتان تجربه کنید. اگر امکان برقراری چنین اتصالی وجود نداشته باشد، تلگرام شما را به نزدیکترین سرور خود متصل میکند تا بتوانید در کوتاهترین زمان به مخاطب موردنظرتان دسترسی پیدا کنید.
👈این پیامرسان برای بهبود کیفیت تماسهای تلفنیاش از هوش مصنوعی استفاده میکند. هوش مصنوعی مورد استفاده تلگرام پس از هر تماس تلفنیتان از شما بازخوردی میگیرد و با توجه به آن رفتارش را تنظیم میکند.
👈لازم به ذکر است، تلگرام برای این منظور اطلاعاتی مانند سرعت شبکه، زمان پینگ و مصرف داده را برای بهبود کیفیت از مکالمه کاربر استخراج میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🔰قابلیت تماس صوتی تلگرام رسما برای کاربران ایرانی فعال شد
از حدودا یک ماه پیش تلگرام قابلیت تماس صوتی را برای کاربران خود در اروپا فعال ساخت. اما این قابلیت تا به امروز برای کاربران ایرانی فعال نبود. از امروز کاربران ایرانی نیز میتوانند از قابلیت تماس صوتی تلگرام استفاده کنند اما چگونه؟
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
👈در صورتی که همینک از آخرین نسخه تلگرام استفاده میکنید، کافیست یکی از کسانی که قابلیت تماس صوتی برای وی فعال شده است با شما تماس گرفته یا یک تماس از دست رفته با شما داشته باشد. بعد از آن شما میتوانید از قابلیت تماس صوتی بر روی تلگرام خود استفاده کنید.
👈این قابلیت برای نسخه های اندروید و iOS فعال بوده و برای کاربران ویندوزی (دسکتاپ و ویندوزفون) هنوز فعال نشده است.
👈تلگرام برای برقراری تماس تلفنی از اتصال همتا به همتا (Peer to Peer) استفاده میکند تا کیفیت بالایی در تماس اینترنتیتان تجربه کنید. اگر امکان برقراری چنین اتصالی وجود نداشته باشد، تلگرام شما را به نزدیکترین سرور خود متصل میکند تا بتوانید در کوتاهترین زمان به مخاطب موردنظرتان دسترسی پیدا کنید.
👈این پیامرسان برای بهبود کیفیت تماسهای تلفنیاش از هوش مصنوعی استفاده میکند. هوش مصنوعی مورد استفاده تلگرام پس از هر تماس تلفنیتان از شما بازخوردی میگیرد و با توجه به آن رفتارش را تنظیم میکند.
👈لازم به ذکر است، تلگرام برای این منظور اطلاعاتی مانند سرعت شبکه، زمان پینگ و مصرف داده را برای بهبود کیفیت از مکالمه کاربر استخراج میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
🚨🚨خبرفوری بالاخره #تماس_صوتی تلگرام برای ایران فعال شد آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻 🍃💐🍃🌸🍃🌸🍃 گروه برنامه نویسی هیلتن😎👇 🆔 @HeiltonProgramming 🍃💐🍃🌸🍃🌸🍃
(Heilton.com) Telegram V3.18.1.apk
12.5 MB
🚨🚨خبرفوری
بالاخره #تماس_صوتی تلگرام برای ایران فعال شد
آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
بالاخره #تماس_صوتی تلگرام برای ایران فعال شد
آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ الگوی طراحی Abstract Factory ✅
همانطور که در الگوی Factory دیدیم، مجموعهای از کلاسها با یک کلاس پدر داشتیم، Method Factory توسط کاربر استفاده میشد و نمونهای از کلاس پدر را دریافت میکرد اما دقیقا نمیدانست چه کلاسهایی در سلسله مراتب کلاسها موجود هستند و معیار انتخاب زیرکلاسها در Factory Method تعیین میشد.
الگوی Abstract Factory مفهوم Factory Method را دارد اما در یک سطح بالاتر به اینصورت که خانوادهای از اشیا به هم وابسته یا مرتبط به هم را ایجاد میکند، پس در این حالت کلاسهای به هم وابستهای داریم که تشکیل یک خانواده را میدهند. در روش Method Factory تمامی اشیا توسط یک متد ایجاد می شدند، اما در روش Abstract Factory هر کلاس یک سازنده جداگانه خواهد داشت و البته همه ی این سازنده ها در کلاس اصلی قرار می گیرند. در Abstract Factory ما یک Interface اصلی خواهیم داشت که مجموعه ای از Object های وابسته را تعریف می کند. در Abstract Factory ما وظیفه ی تولید هر شی را به Factory مربوطه اش واگذار می کنیم، اینجاست که اگر بعد از مدتی از ما خواسته شود که برنامه را بسط بدهیم تنها با ایجاد یک Factory مشکل را می توانیم حل می کنیم.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
همانطور که در الگوی Factory دیدیم، مجموعهای از کلاسها با یک کلاس پدر داشتیم، Method Factory توسط کاربر استفاده میشد و نمونهای از کلاس پدر را دریافت میکرد اما دقیقا نمیدانست چه کلاسهایی در سلسله مراتب کلاسها موجود هستند و معیار انتخاب زیرکلاسها در Factory Method تعیین میشد.
الگوی Abstract Factory مفهوم Factory Method را دارد اما در یک سطح بالاتر به اینصورت که خانوادهای از اشیا به هم وابسته یا مرتبط به هم را ایجاد میکند، پس در این حالت کلاسهای به هم وابستهای داریم که تشکیل یک خانواده را میدهند. در روش Method Factory تمامی اشیا توسط یک متد ایجاد می شدند، اما در روش Abstract Factory هر کلاس یک سازنده جداگانه خواهد داشت و البته همه ی این سازنده ها در کلاس اصلی قرار می گیرند. در Abstract Factory ما یک Interface اصلی خواهیم داشت که مجموعه ای از Object های وابسته را تعریف می کند. در Abstract Factory ما وظیفه ی تولید هر شی را به Factory مربوطه اش واگذار می کنیم، اینجاست که اگر بعد از مدتی از ما خواسته شود که برنامه را بسط بدهیم تنها با ایجاد یک Factory مشکل را می توانیم حل می کنیم.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
✅ مثال الگوی طراحی Abstract Factory ✅
فرض کنید میخواهید با پایگاه داده ارتباط برقرار کنید. با در نظر گرفتن اینکه در حال استفاده از چند پایگاه داده مختلف هستیم، برای اینکه اتصال با هر پایگاه داده برقرار شود بایستی از کلاس همان پایگاه داده استفاده کرد و یکی از متدهای آن را فراخوانی کرد تا ارتباط برقرار گردد. زمانی که از این الگو استفاده میکنید، شما مستقیماً با کلاسهای پایگاه داده سروکار ندارید، بلکه یک کلاس به عنوان Factory واسط بین شما و کلاسهای پایگاه داده است. حال اگر بخواهید به پایگاه داده متصل شوید، درخواست خود را به Factory ارسال میکنید تا کلاس پایگاه داده مورد نظر را برای شما ایجاد نماید. بنابراین وابستگی به کلاسهای پایگاه داده کمتر شده و مدیریت ساختن این کلاسها در Factory مجتمع میشود. در حالت عادی ایجاد کلاسها در بخشهای مختلف و در کلاسهای مختلف ممکن است انجام شود و مدیریت و تغییر نحوه ایجاد کلاسها در آینده با مشکل مواجه میشود. این الگو برای حل این مشکلات بهوجود آمده است و شامل مجموعهای از Factoryهای به هم مرتبط میباشد.
👌👌صنعت خودروسازی
صنعت خودروسازی را در نظر بگیرید که در آن خودروها را در دو دستهی دیزلی و سواری تولید میکنند و دو کارخانهی تولید خودرو که در صنعت خودرو سازی فعالیت دارند. به عنوان مثال، ایران خودرو و سایپا که هر کدام خودروهای خود را تولید میکنند. ولی هر خودرویی که تولید میکنند یا دیزلی است یا سواری. شرکت ایران خودرو، خودروی آرنا را بعنوان دیزلی تولید میکند و پژو 206 را بعنوان سواری. همچنین شرکت سایپا خودروی فوتون را بعنوان خودروی دیزلی تولید میکند و خودروی پراید را بعنوان خودروی سواری. خودروهای تولیدی همانطور که گفته شد یا دیزلی هستند یا سواری که هر کدام از این خودروها ویژگیهای خاص خود را دارند. در بین این خودروها، خودروی پژو 206 و پراید یک خودروی سواری هستند و خودروی فوتون و آرنا، خودروهای دیزلی.
الگوی طراحی Abstract Factory شبیه به نمایشگاه خوردو میباشد که هر دو گروه نوع خودرو از هر دو شرکت سازنده را برای فروش دارد و به درخواست مشتری خودروی مورد نظر را ارائه میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ مثال الگوی طراحی Abstract Factory ✅
فرض کنید میخواهید با پایگاه داده ارتباط برقرار کنید. با در نظر گرفتن اینکه در حال استفاده از چند پایگاه داده مختلف هستیم، برای اینکه اتصال با هر پایگاه داده برقرار شود بایستی از کلاس همان پایگاه داده استفاده کرد و یکی از متدهای آن را فراخوانی کرد تا ارتباط برقرار گردد. زمانی که از این الگو استفاده میکنید، شما مستقیماً با کلاسهای پایگاه داده سروکار ندارید، بلکه یک کلاس به عنوان Factory واسط بین شما و کلاسهای پایگاه داده است. حال اگر بخواهید به پایگاه داده متصل شوید، درخواست خود را به Factory ارسال میکنید تا کلاس پایگاه داده مورد نظر را برای شما ایجاد نماید. بنابراین وابستگی به کلاسهای پایگاه داده کمتر شده و مدیریت ساختن این کلاسها در Factory مجتمع میشود. در حالت عادی ایجاد کلاسها در بخشهای مختلف و در کلاسهای مختلف ممکن است انجام شود و مدیریت و تغییر نحوه ایجاد کلاسها در آینده با مشکل مواجه میشود. این الگو برای حل این مشکلات بهوجود آمده است و شامل مجموعهای از Factoryهای به هم مرتبط میباشد.
👌👌صنعت خودروسازی
صنعت خودروسازی را در نظر بگیرید که در آن خودروها را در دو دستهی دیزلی و سواری تولید میکنند و دو کارخانهی تولید خودرو که در صنعت خودرو سازی فعالیت دارند. به عنوان مثال، ایران خودرو و سایپا که هر کدام خودروهای خود را تولید میکنند. ولی هر خودرویی که تولید میکنند یا دیزلی است یا سواری. شرکت ایران خودرو، خودروی آرنا را بعنوان دیزلی تولید میکند و پژو 206 را بعنوان سواری. همچنین شرکت سایپا خودروی فوتون را بعنوان خودروی دیزلی تولید میکند و خودروی پراید را بعنوان خودروی سواری. خودروهای تولیدی همانطور که گفته شد یا دیزلی هستند یا سواری که هر کدام از این خودروها ویژگیهای خاص خود را دارند. در بین این خودروها، خودروی پژو 206 و پراید یک خودروی سواری هستند و خودروی فوتون و آرنا، خودروهای دیزلی.
الگوی طراحی Abstract Factory شبیه به نمایشگاه خوردو میباشد که هر دو گروه نوع خودرو از هر دو شرکت سازنده را برای فروش دارد و به درخواست مشتری خودروی مورد نظر را ارائه میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃