JavaRush /وبلاگ جاوا /Random-FA /نقد و بررسی کتاب الگوهای طراحی اول سر
Alex
مرحله

نقد و بررسی کتاب الگوهای طراحی اول سر

در گروه منتشر شد
در میان افرادی که حداقل با سری Head First آشنایی دارند، بسیاری هستند که چنین ادبیاتی را خواندنی نسبتاً سطحی برای مبتدیان می دانند. چه بگویم، بعید است در 48 ساعت بتوان یک موضوع پیچیده در زمینه برنامه نویسی را عمیقاً مطالعه کرد. با این حال، سخت است استدلال کنیم که Design Patterns کتابی است که راهنمای مفیدی برای برنامه نویسی برای مبتدیان خواهد بود. این کتاب یکی از ده کتاب محبوب Stackoverflow است و دلیل خوبی هم دارد. سهولت ارائه، موضوع اساسی و مثال‌های باکیفیت، کتاب را در حال حاضر و به نظر من برای سال‌های آینده محبوب کرده است. نقد و بررسی کتاب الگوهای طراحی اول سر - 1

ویژگی های کتاب

الگوهای طراحی head first به ما می گوید که الگوها چیست، چگونه از آنها استفاده کنیم و چگونه در مورد آنها فکر کنیم. یک الگو یک الگو است، یک راه حل جهانی برای مجموعه خاصی از مشکلات. الگوهای طراحی به نوبه خود راه حل های معماری رایجی هستند که می توانند برای نوشتن برنامه های کاربر پسند و انعطاف پذیر استفاده شوند. توسعه دهندگان در سراسر جهان مشکلات یکسانی را با رویکردهای مشابه حل می کنند. همانطور که حاشیه‌نویسی می‌گوید، اگر نمی‌خواهید چرخ را دوباره اختراع کنید، از الگوهای طراحی آماده (الگوهایی) استفاده کنید که این کتاب به کار با آن‌ها اختصاص دارد . به طور جداگانه، شایان ذکر است که ارائه مطالب: کتاب های سری Head First به دلیل سادگی مشهور هستند و در یک جلسه خوانده می شوند. "الگوهای طراحی" نیز از این قاعده مستثنی نیست. همچنین به اصول کلیدی زیر پایبند است:
  1. دید
  2. سبک ارائه مکالمه
  3. تعداد زیادی تصویر
  4. مشارکت فعال خواننده
  5. توسل به احساسات
  6. جلب توجه خواننده
نویسندگان کتاب با شایستگی از نظریه فراشناخت برای ارائه مطالب استفاده می کنند: برای من، 100 صفحه اول بدون توجه به پرواز در آمد. زیبایی این رویکرد این است که مغز در واقع آنچه را که می خواند به خاطر می آورد. ترکیبی از چندین سبک روایی، سؤالات جالب، افزونگی و خلاقیت - همه اینها به خواننده کمک می کند تا علاقه خود را به موضوع اصلی از دست ندهد. قبل از خرید کتاب، پس از خواندن نقدهای مختلف مردد بودم. با این حال، پس از مرور سریع چندین منبع دیگر در مورد این موضوع، تصمیم گرفتم: برای فرو رفتن در الگوها، این کتاب همان چیزی است که شما نیاز دارید.

موضوع اصلی و ایده کلیدی

"مطمئناً کسی قبلاً مشکل شما را حل کرده است" - اینگونه است که فصل اول کتاب شروع می شود و معنای کامل الگوهای طراحی در برنامه نویسی را منتقل می کند. هدف اصلی این است که معنای آنها را به درستی به خواننده منتقل کند، زیرا قبل از هر چیز برنامه نویس باید بداند که الگوها برای چه هستند و در چه نقطه ای باید اعمال شوند. اساساً، ابتدا باید قالب ها را در سر خود به قطعات کوچک مرتب کنید و تنها پس از آن آنها را در برنامه ها پیاده سازی کنید. اگر یک مبتدی در برنامه نویسی درک خوبی از الگوها داشته باشد، استفاده از آنها می تواند تا حد زیادی کد را پیچیده کند (اما باید آن را ساده کند!). در پاسخ به این سوال که "چرا باید از الگوهای طراحی استفاده شود؟" این کتاب پاسخ روشنی می دهد: «دانستن مفاهیمی مانند انتزاع، وراثت، و چندشکلی شما را به یک طراح خوب OO تبدیل نمی کند. الگوها حاوی تجربه اثبات شده طراحی OO هستند."

"خلاصه"

این کتاب در 14 فصل به همراه یک مقدمه تنظیم شده است. در آغاز، نویسندگان کتاب سعی می کنند خواننده را آماده کنند تا مغز او را برای درک صحیح اطلاعات در مورد طراحی الگو تنظیم کنند. فصل اول اصل اساسی الگوها و اهداف آنها را توضیح می دهد. یکی از پرکاربردترین الگوها - استراتژی - به راحتی و بدون مزاحمت مورد بررسی قرار می گیرد. فصل دوم تا یازدهم به تجزیه و تحلیل دقیق الگوهای فردی اختصاص دارد :
  1. مشاهده کننده. رویدادها را در بین اشیایی که به وقوع آنها علاقه دارند توزیع می کند.
  2. دکوراتور. نگاهی دیگر به وراثت در جاوا و دادن قابلیت های جدید به کلاس های جاوا بدون تغییر کد.
  3. کارخانه. الگوی کد را از وابستگی های ناخواسته ذخیره می کند.
  4. تنها. همچنین به عنوان Singleton شناخته می شود، به شما امکان می دهد یک شی کلاس واحد برای کل برنامه ایجاد کنید.
  5. تیم این الگو به شما امکان می دهد تا به راحتی یک فراخوانی متد را کپسوله کنید و قابلیت های آن را گسترش دهید.
  6. آداپتور و نما. حل مشکل ناسازگاری رابط، و همچنین بسته بندی اشیاء برای ساده کردن رابط آنها.
  7. روش قالب. کپسوله‌سازی بلوک‌های الگوریتمی، به زیر کلاس‌ها اجازه می‌دهد تا در هر زمان با الگوریتم پردازش مورد نظر مرتبط شوند.
  8. Iterator و Linker. این الگو یک ابزار مناسب برای تکرار از طریق مجموعه ها، صرف نظر از نوع آنها، فراهم می کند. علاوه بر این، این فصل اطلاعاتی در مورد ابرمجموعه ها ارائه می دهد.
  9. حالت. اشیا دارای توانایی کنترل رفتار خود از طریق تغییر در وضعیت درونی خود هستند.
  10. قائم مقام. یک الگوی بسیار راحت برای کنترل دسترسی به یک شی.
فصل 12 الگوهای ترکیبی، یا بهتر بگوییم ترکیبی از برخی از الگوهای مورد بحث را بررسی می‌کند که می‌توانند برای ساخت معماری‌های نرم‌افزاری قدرتمند استفاده شوند. فصل 13 به استفاده از الگوها در مسائل واقعی اختصاص دارد، طبقه بندی الگوها، انواع آنها و دستورالعمل های استفاده ارائه شده است. این کتاب به عنوان ضمیمه فصل 14 است که طیف وسیع تری از الگوها را پوشش می دهد. هر یک از آنها در نوع خود مفید هستند، بنابراین شناخت آنها بیش از حد مطلوب است. البته، آنها به اندازه الگوهای فصل 2-11 محبوب نیستند، اما این باعث نمی شود که آنها از کاربردشان کم کنند. این کتاب تظاهر نمی‌کند که از نظر آکادمیک ارائه‌ای دقیق از نظریه الگو باشد. اما اگر کتاب‌های Head First بسیار دقیق باشند، توسعه‌دهندگان مشتاق فرصتی نخواهند داشت که بفهمند چیست و اصول اولیه را برای خود روشن کنند. این یک راه ساده و راحت برای یادگیری الگوهای طراحی برای کسانی است که با آنها آشنایی ندارند. به گفته نویسندگان، Design Patterns کتابی مناسب برای کسانی است که قبلاً با جاوا (یا C#) آشنا هستند، می‌خواهند اصول طراحی شی گرا را بیاموزند و مکالمه پر جنب و جوش را به سخنرانی‌های خسته کننده ترجیح می‌دهند. این کتاب یک کتاب مرجع نیست! اگر یک توسعه دهنده حرفه ای با تجربه هستید و حداقل با بخشی از این الگوها کار می کنید، بعید است که این کتاب برای شما جالب باشد. یکی از اجزای مهم کتاب تمرینات است: شما نباید از آنها بگذرید. اگر کتاب را با دقت بخوانید و در موارد شدید، جستجوی حداقلی را در اینترنت انجام دهید، حل آنها دردسر شما را اضافه نمی کند. اما قطعاً مزایایی خواهد داشت. حداقل، شما نظریه ای را که در کتاب ارائه شده است عمیق تر درک خواهید کرد.

مزایا و معایب

من، مانند بسیاری از کسانی که در JavaRush درس می خوانند، نسبت به سخنرانی های خسته کننده، انباشته کردن مطالب و سایر خشونت ها علیه روان دانش آموز تشنه دانش رفتار سردی دارم. به نظر من انرژی صرف شده برای به خاطر سپردن متون غیرقابل درک بهتر است برای یافتن منابع یادگیری جایگزین. این کتاب کتابی است که ارزش وقت و تلاش شما را دارد. سبک ارائه عالی، مدیریت شایسته توجه خواننده و تکرار نکات کلیدی مزیت اصلی این کتاب - سهولت جذب مطالب است . تعداد زیادی از تصاویر یک مزیت اضافی است. به نظر من، هر تصویر در کتاب جای خود را دارد: همه آنها به شما اجازه می دهند سخنان نویسندگان را تقویت کنید و درک عمیق تری از ماهیت مطالب به دست آورید. همانطور که در بالا نوشتم، این کتاب یک کتاب مرجع نیست: نویسندگان آن قصد ندارند همه الگوها را فهرست کنند. وظیفه اصلی آن ارائه درک و صحبت در مورد الگوهای اساسی است تا سایر الگوهای پیچیده تر قابل درک باشند. و او با این 100% کنار می آید. از جمله معایب این است که الگوهای طراحی Head first به زبان روسی به آسانی خواندن انگلیسی نیست. البته، هر توسعه دهنده ای باید انگلیسی صحبت کند، اما برنامه نویسان تازه کار همیشه این مهارت را به حدی توسعه نمی دهند که بتوانند کتاب ها را به صورت اصلی بخوانند. با این حال، این را می توان یک منفی اجباری در نظر گرفت، زیرا مطالب کاملاً دقیق ارائه شده و معنی حفظ می شود.

کتاب های اضافی در مورد الگوهای طراحی

من طرفدار این عقیده هستم که بهتر است موضوعات بنیادی را از چندین منبع مورد مطالعه قرار داد و به دنبال سبک ارائه مناسب در آنها بود. وقتی می خواهید در الگوها غوطه ور شوید و تئوری اضافی بخوانید، باور کنید، چیزی برای اشغال شب های خود خواهید داشت.
  1. تکنیک های طراحی شی گرا الگوهای طراحی (Gamma E.، Helm R.، Johnson R.، Vlissides J.).

    نقد و بررسی کتاب الگوهای طراحی (نقوش طراحی سر اول) - 2

    این یک انتشار جدی تر، یک کتاب مرجع الگوها، یک کتاب بسیار محترم از "باند چهار" است. بسیاری آن را کتاب مقدس طراحی OO می نامند.

    در اینترنت، نظرات توسعه دهندگان به 3 اردو تقسیم می شود:

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

    مهم:مثال های کتاب به زبان C++ نوشته شده اند.

  2. جاوا EE. طراحی الگوهای حرفه ای (Murat Yener، Alex Fidom).

    نقد و بررسی کتاب الگوهای طراحی (نقوش طراحی سر اول) - 3

    این کتاب به طراحی برنامه های کاربردی Enterprise اختصاص دارد: نمونه های زیادی از مشکلات برنامه های کاربردی در زندگی واقعی را پوشش می دهد.

  3. الگوهای طراحی در جاوا (Grand M.).

    نقد و بررسی کتاب الگوهای طراحی (الگوهای طراحی سر اول) - 4

    این کتاب به صورت رنگارنگ نشان می دهد که چگونه استفاده از الگوها باعث صرفه جویی در وقت توسعه دهندگان می شود، یک نمای کلی از زبان UML ارائه می دهد و 47 الگوی طراحی را توصیف می کند.

الگوهای طراحی در JavaRush

در دوره JavaRush، الگوهای طراحی در سطح 7 کوئست Java Collections آموخته می شوند. سخنرانی های 1 و 2 به رایج ترین الگوها اختصاص داده شده است و در سخنرانی 4 می توانید مسائل مربوط به این موضوع را حل کنید. در زیر چند مقاله جالب برای "تقویت خود" آورده شده است:
  1. یک مقاله کلی با موضوع الگوها با دسته بندی ها، مثال ها، هر چیزی که دوست داریم.

  2. دو مقاله در مورد الگوها: قسمت 1 نمای کلی و جزئیات بیشتر قسمت 2 .

  3. الگوها را با استفاده از الگوی Singleton به عنوان مثال طراحی کنید .

  4. مقالاتی در مورد الگوهای « استراتژی » و « آداپتور ».

  5. مفهوم الگوهای طراحی مربوط به نمودارهای UML است، این مقاله به شما کمک می کند تا بفهمید آنها چیست.

نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION