ویژگی های کتاب
الگوهای طراحی head first به ما می گوید که الگوها چیست، چگونه از آنها استفاده کنیم و چگونه در مورد آنها فکر کنیم. یک الگو یک الگو است، یک راه حل جهانی برای مجموعه خاصی از مشکلات. الگوهای طراحی به نوبه خود راه حل های معماری رایجی هستند که می توانند برای نوشتن برنامه های کاربر پسند و انعطاف پذیر استفاده شوند. توسعه دهندگان در سراسر جهان مشکلات یکسانی را با رویکردهای مشابه حل می کنند. همانطور که حاشیهنویسی میگوید، اگر نمیخواهید چرخ را دوباره اختراع کنید، از الگوهای طراحی آماده (الگوهایی) استفاده کنید که این کتاب به کار با آنها اختصاص دارد . به طور جداگانه، شایان ذکر است که ارائه مطالب: کتاب های سری Head First به دلیل سادگی مشهور هستند و در یک جلسه خوانده می شوند. "الگوهای طراحی" نیز از این قاعده مستثنی نیست. همچنین به اصول کلیدی زیر پایبند است:- دید
- سبک ارائه مکالمه
- تعداد زیادی تصویر
- مشارکت فعال خواننده
- توسل به احساسات
- جلب توجه خواننده
موضوع اصلی و ایده کلیدی
"مطمئناً کسی قبلاً مشکل شما را حل کرده است" - اینگونه است که فصل اول کتاب شروع می شود و معنای کامل الگوهای طراحی در برنامه نویسی را منتقل می کند. هدف اصلی این است که معنای آنها را به درستی به خواننده منتقل کند، زیرا قبل از هر چیز برنامه نویس باید بداند که الگوها برای چه هستند و در چه نقطه ای باید اعمال شوند. اساساً، ابتدا باید قالب ها را در سر خود به قطعات کوچک مرتب کنید و تنها پس از آن آنها را در برنامه ها پیاده سازی کنید. اگر یک مبتدی در برنامه نویسی درک خوبی از الگوها داشته باشد، استفاده از آنها می تواند تا حد زیادی کد را پیچیده کند (اما باید آن را ساده کند!). در پاسخ به این سوال که "چرا باید از الگوهای طراحی استفاده شود؟" این کتاب پاسخ روشنی می دهد: «دانستن مفاهیمی مانند انتزاع، وراثت، و چندشکلی شما را به یک طراح خوب OO تبدیل نمی کند. الگوها حاوی تجربه اثبات شده طراحی OO هستند.""خلاصه"
این کتاب در 14 فصل به همراه یک مقدمه تنظیم شده است. در آغاز، نویسندگان کتاب سعی می کنند خواننده را آماده کنند تا مغز او را برای درک صحیح اطلاعات در مورد طراحی الگو تنظیم کنند. فصل اول اصل اساسی الگوها و اهداف آنها را توضیح می دهد. یکی از پرکاربردترین الگوها - استراتژی - به راحتی و بدون مزاحمت مورد بررسی قرار می گیرد. فصل دوم تا یازدهم به تجزیه و تحلیل دقیق الگوهای فردی اختصاص دارد :- مشاهده کننده. رویدادها را در بین اشیایی که به وقوع آنها علاقه دارند توزیع می کند.
- دکوراتور. نگاهی دیگر به وراثت در جاوا و دادن قابلیت های جدید به کلاس های جاوا بدون تغییر کد.
- کارخانه. الگوی کد را از وابستگی های ناخواسته ذخیره می کند.
- تنها. همچنین به عنوان Singleton شناخته می شود، به شما امکان می دهد یک شی کلاس واحد برای کل برنامه ایجاد کنید.
- تیم این الگو به شما امکان می دهد تا به راحتی یک فراخوانی متد را کپسوله کنید و قابلیت های آن را گسترش دهید.
- آداپتور و نما. حل مشکل ناسازگاری رابط، و همچنین بسته بندی اشیاء برای ساده کردن رابط آنها.
- روش قالب. کپسولهسازی بلوکهای الگوریتمی، به زیر کلاسها اجازه میدهد تا در هر زمان با الگوریتم پردازش مورد نظر مرتبط شوند.
- Iterator و Linker. این الگو یک ابزار مناسب برای تکرار از طریق مجموعه ها، صرف نظر از نوع آنها، فراهم می کند. علاوه بر این، این فصل اطلاعاتی در مورد ابرمجموعه ها ارائه می دهد.
- حالت. اشیا دارای توانایی کنترل رفتار خود از طریق تغییر در وضعیت درونی خود هستند.
- قائم مقام. یک الگوی بسیار راحت برای کنترل دسترسی به یک شی.
مزایا و معایب
من، مانند بسیاری از کسانی که در JavaRush درس می خوانند، نسبت به سخنرانی های خسته کننده، انباشته کردن مطالب و سایر خشونت ها علیه روان دانش آموز تشنه دانش رفتار سردی دارم. به نظر من انرژی صرف شده برای به خاطر سپردن متون غیرقابل درک بهتر است برای یافتن منابع یادگیری جایگزین. این کتاب کتابی است که ارزش وقت و تلاش شما را دارد. سبک ارائه عالی، مدیریت شایسته توجه خواننده و تکرار نکات کلیدی مزیت اصلی این کتاب - سهولت جذب مطالب است . تعداد زیادی از تصاویر یک مزیت اضافی است. به نظر من، هر تصویر در کتاب جای خود را دارد: همه آنها به شما اجازه می دهند سخنان نویسندگان را تقویت کنید و درک عمیق تری از ماهیت مطالب به دست آورید. همانطور که در بالا نوشتم، این کتاب یک کتاب مرجع نیست: نویسندگان آن قصد ندارند همه الگوها را فهرست کنند. وظیفه اصلی آن ارائه درک و صحبت در مورد الگوهای اساسی است تا سایر الگوهای پیچیده تر قابل درک باشند. و او با این 100% کنار می آید. از جمله معایب این است که الگوهای طراحی Head first به زبان روسی به آسانی خواندن انگلیسی نیست. البته، هر توسعه دهنده ای باید انگلیسی صحبت کند، اما برنامه نویسان تازه کار همیشه این مهارت را به حدی توسعه نمی دهند که بتوانند کتاب ها را به صورت اصلی بخوانند. با این حال، این را می توان یک منفی اجباری در نظر گرفت، زیرا مطالب کاملاً دقیق ارائه شده و معنی حفظ می شود.کتاب های اضافی در مورد الگوهای طراحی
من طرفدار این عقیده هستم که بهتر است موضوعات بنیادی را از چندین منبع مورد مطالعه قرار داد و به دنبال سبک ارائه مناسب در آنها بود. وقتی می خواهید در الگوها غوطه ور شوید و تئوری اضافی بخوانید، باور کنید، چیزی برای اشغال شب های خود خواهید داشت.-
تکنیک های طراحی شی گرا الگوهای طراحی (Gamma E.، Helm R.، Johnson R.، Vlissides J.).
این یک انتشار جدی تر، یک کتاب مرجع الگوها، یک کتاب بسیار محترم از "باند چهار" است. بسیاری آن را کتاب مقدس طراحی OO می نامند.
در اینترنت، نظرات توسعه دهندگان به 3 اردو تقسیم می شود:
- برخی استدلال می کنند که کتاب قدیمی است و سبک ارائه آن خواندن را غیرممکن می کند
- دیگران توصیه می کنند از این کتاب فقط به عنوان یک کتاب مرجع در مورد الگوها استفاده کنید، نه بیشتر
- برخی دیگر می گویند که این کتاب جام مقدس الگوهای طراحی است و هر کسی که می خواهد روزی یک برنامه نویس ارشد جاوا شود باید آن را بخواند.
مهم:مثال های کتاب به زبان C++ نوشته شده اند.
-
جاوا EE. طراحی الگوهای حرفه ای (Murat Yener، Alex Fidom).
این کتاب به طراحی برنامه های کاربردی Enterprise اختصاص دارد: نمونه های زیادی از مشکلات برنامه های کاربردی در زندگی واقعی را پوشش می دهد.
-
الگوهای طراحی در جاوا (Grand M.).
این کتاب به صورت رنگارنگ نشان می دهد که چگونه استفاده از الگوها باعث صرفه جویی در وقت توسعه دهندگان می شود، یک نمای کلی از زبان UML ارائه می دهد و 47 الگوی طراحی را توصیف می کند.
الگوهای طراحی در JavaRush
در دوره JavaRush، الگوهای طراحی در سطح 7 کوئست Java Collections آموخته می شوند. سخنرانی های 1 و 2 به رایج ترین الگوها اختصاص داده شده است و در سخنرانی 4 می توانید مسائل مربوط به این موضوع را حل کنید. در زیر چند مقاله جالب برای "تقویت خود" آورده شده است:-
یک مقاله کلی با موضوع الگوها با دسته بندی ها، مثال ها، هر چیزی که دوست داریم.
-
دو مقاله در مورد الگوها: قسمت 1 نمای کلی و جزئیات بیشتر قسمت 2 .
-
الگوها را با استفاده از الگوی Singleton به عنوان مثال طراحی کنید .
-
مفهوم الگوهای طراحی مربوط به نمودارهای UML است، این مقاله به شما کمک می کند تا بفهمید آنها چیست.
GO TO FULL VERSION