کتاب Real-World Implementation of C# Design Patterns (پیادهسازی الگوهای طراحی سیشارپ در دنیای واقعی: غلبه بر چالشهای برنامهنویسی روزانه با استفاده از عناصر نرمافزار شیگرا قابل استفاده مجدد) در 10 فصل به صورت تخصصی به شرح عملیاتی الگوهای طراحی در زبان برنامهنویسی سیشارپ خواهد پرداخت.
در ادامه مقدمهای از کتاب Real-World Implementation of C# Design Patterns را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Real-World Implementation of C# Design Patterns:
این کتاب در مورد الگوهای طراحی نوشته شده در زمینه زبان کدنویسی سیشارپ است. من میدانم که احتمالاً به چه چیزی فکر میکنید. اصلاً به چه معناست؟ خب، میتوانم به شما بگویم، اما بقیه کتاب را اسپویل میکنم، و به من اعتماد کنید، این یک افتضاح است!
الگوهای طراحی مجموعه ای مدون از بهترین شیوهها برای مشکلات نرم افزاری هستند که به قدری پیش میآیند که میتوانیم یاد بگیریم آنها را بشناسیم و بلافاصله بدانیم چگونه آنها را حل کنیم. راهحلهای این مشکلات تکراری که در الگوها یافت میشوند برای دههها مورد استفاده قرار گرفتهاند و اثربخشی آنها ثابت شده است.
الگوها همچنین به یک زبان جنگ برای توسعهدهندگان تبدیل میشوند زیرا بسیار فراگیر هستند. این ایده از فرانچایز تلویزیونی و فیلم محبوب، پیشتازان فضا گرفته شده است. در Star Trek، نژاد جنگجو معروف به کلینگونها دو زبان دارد.
آنها زبان کلینگونی معمولی را دارند که در مهدکودک کلینگون یاد میگیرند و یک نسخه اختصاری که در طول جنگ از آن استفاده میکنند. عبارت «لولههای اژدر 1 و 2 را بارگیری کنید و به طور کامل شلیک کنید» را میتوان به یک یا دو کلمه کاهش داد.
همه کلینگونها معنی این عبارت را میدانند و در نبردها پیروز میشوند زیرا چند ثانیه سریعتر از دشمنان زبانی خود هستند. به طور مشابه، میتوانید بگویید “فقط از الگوی دکوراتور استفاده کنید”. هر توسعهدهندهای که الگوها را مطالعه کرده باشد، میداند که در مرحله بعد چه کاری باید انجام دهد.
الگوها مختص زبان سیشارپ نیستند. با این حال، برای یادگیری مؤثر الگوها، به زبان پیادهسازی نیاز دارید. کتاب اصلی در مورد الگوها توسط اریش گاما، ریچارد هلم، رالف جانسون و جان ولیسیدز نوشته شده است که در مجموع با نام گروه چهار یا به اختصار GoF شناخته میشوند. کتاب آنها، الگوهای طراحی: عناصر نرمافزار شیگرا با قابلیت استفاده مجدد، اغلب به عنوان کتاب GoF شناخته میشود.
کتاب GoF در سال 1994 منتشر شد که آن را به یک دایناسور تکنولوژیک تبدیل میکند. اگرچه ممکن است قدیمی باشد، الگوهای توضیح داده شده در صفحات آن هنوز بسیار مرتبط هستند. انتقاد من از کتاب GoF این است که در قالب بسیار آکادمیک نوشته شده است و زبان پیادهسازی آن زبانی است که دیگر واقعاً نمیبینید.
زبان پیادهسازی یک جزئیات مهم است. کتاب GoF 23 الگو را پوشش میدهد که همان تعداد گیاهان و ادویههای موجود در دستور غذای اصلی KFC است. این نمیتواند تصادفی باشد.
کتاب Real-World Implementation of C# Design Patterns همه 23 الگو را پوشش نمیدهد، که خوب است، زیرا مرغ سرخ شده زیاد برای شما خوب نیست. من روی الگوهایی تمرکز کرده ام که هر روز در بیشتر پروژههایی که روی آنها کار میکنید به آنها نیاز دارید. باقی مانده را به طور خلاصه در فصل 8 در پایان کتاب پوشش میدهم.
برخی کتابها وجود دارند که سعی میکنند از کد شبه استفاده کنند تا عمومی باشند. من معتقدم که چنین کتابهایی برای اکثر مردم مفید نیستند. اگر شما هم مثل من هستید و احتمالاً در این زمینه هستید، یک نمونه کد را آرزو میکنید که خواندن آن آسان باشد، بیش از حد باهوش نباشد و پایه محکمی در دنیای واقعی داشته باشد.
کتابها و سایتهای وبلاگی که سعی میکنند الگوهایی را با عباراتی مانند «کلاس A از کلاس B به ارث میبرد، که به کلاس C بستگی دارد» به شما آموزش دهند، خیلی مبهم هستند که مفید نباشند. به همان اندازه کتابها و سایتها آزاردهنده هستند
که سعی میکند الگو را به 20 زبان به شما نشان دهد. آنها معمولاً به جای تمرکز بر انجام یک کار خوب در یک کار، با تمام 20 نفر کار ضعیفی انجام میدهند. من فقط از سیشارپ و زبان مدلسازی یکپارچه (UML) استفاده میکنم.
اگر قبلاً نام UML را نشنیده اید، اجازه ندهید که شما را بترساند. UML قراردادی است که برای ایجاد نمودار استفاده میشود. 14 نوع نمودار UML وجود دارد. من فقط از یک نوع نمودار استفاده میکنم: نمودارهای کلاس. من یک پرایمر را در ضمیمه 2 قرار داده ام تا اگر در UML تازه کار هستید به شما کمک کند.
کتاب Real-World Implementation of C# Design Patterns در مورد دنیای واقعی یا حداقل یک فاکس نزدیک است. من این کتاب را با استفاده از همان تکنیکهایی نوشته ام که در پروژههای نرمافزاری واقعی استفاده میشود. کد واقع بینانه ای در کتاب وجود دارد که مشکلات تجاری مشروع را حل میکند. همچنین اشتباهات طراحی، همراه با راههای متفکرانه برای خلاص شدن از مشکل وجود دارد.
یکی دیگر از مسائلی که در مورد کتابهای دانشگاهی وجود دارد این است که آنها کلمه ای هستند و خواندن آنها سخت است. من سعی کرده ام از یک سوژه خشک استفاده کنم و از خسته کننده بودن خودداری کنم. من متوجه شدم که هیچکس عمداً یک کتاب خستهکننده نمینویسد. متاسفانه خیلیها موفق شده اند. من فکر میکنم دلیل اصلی این کسالت این است که بسیاری از نویسندگان در فنآوری به وظیفه نوشتن یک کتاب نگاه میکنند.
من فکر میکنم بسیاری از نویسندگان کتاب مینویسند تا ثابت کنند چقدر باهوش هستند. اینها خیلی آکادمیک هستند. آنها برای تحت تأثیر قرار دادن سایر دانشگاهیان ساخته شده اند. عالیه! دنیا به دانشگاهیان نیاز دارد. اکثر توسعهدهندگان آکادمیک حرفه ای نیستند. به جرات میتوانم بگویم، بسیاری از توسعهدهندگان هرگز یک دوره رسمی CS را گذرانده اند. هدف من از نوشتن این کتاب این نیست که ثابت کنم باهوش یا توانا هستم.
همسرم به شما میگوید که من به طرز ناخوشایندی خود را تحقیر میکنم. در عوض، هدف من کمک به شما در عبور از دیواری است که شما را از حرکت به سطح بعدی در کدنویسی باز میدارد. مجبور بودم خودم از این دیوار بالا بروم و برای من آسان نبود. با این حال، اگر من میتوانم این کار را انجام دهم، شما نیز میتوانید با کمک من.
کتاب Real-World Implementation of C# Design Patterns به جای یک درمان خشک دانشگاهی، داستانی را ارائه میکند که واقعاً میتواند در دنیای واقعی اتفاق بیفتد. فقط به اندازه کافی داستان علمی تخیلی سبک وجود دارد که آن را «فقط یک داستان» بسازد. با این حال، شرایط موجود در داستان بسیار واقعی است و شما آنها را تشخیص خواهید داد، حتی اگر چند سال در این زمینه باشید.
در این مورد، من میخواهم چند نکته را روشن کنم. داستان این کتاب تخیلی است. در حالی که من یک مهندس نرمافزار فوقالعاده هستم، من یک رباتیک یا مهندس مکانیک نیستم، و نه یک مکانیک دوچرخه واجد شرایط هستم. در چند نقطه از داستان آینده، ممکن است لازم باشد که اگر این سوژهها در چرخ خانه شما هستند، ناباوری خود را متوقف کنید.
کتاب Real-World Implementation of C# Design Patterns برای چه کسی است؟
این کتاب برای کسانی است که میخواهند توسعهدهنده نرمافزار بهتری شوند. ای کاش میتوانستم فقط با گفتن این حرف کنار بیایم، اما احتمالاً نمیتوانم. اجازه دهید در مورد اینکه چه کسی از این کتاب سود میبرد چند فکر اضافه کنم.
پاسخ آسان چیزی است که من آن را توسعهدهندگان سطح متوسط مینامم. اینها توسعهدهندگانی هستند که چند سال تجربه کار با سیشارپ دارند و با اصول اولیه برنامه نویسی شیگرا بسیار راحت هستند. در حالت ایدهآل، شما چند نمودار کلاس UML را دیدهاید.
یکی دیگر از ذینفعان این کتاب دانشآموزی است که در حال یادگیری سیشارپ است. اگر حتی از راه دور با مفاهیم اولیه OOP، مانند وراثت و ترکیب، راحت هستید و راه خود را در محیط توسعه یکپارچه (IDE) میدانید، از شما میخواهم این کتاب را بخوانید.
مطمئناً، توسعهدهنده سطح متوسط ممکن است زمان آسانتری داشته باشد، اما یادگیری الگوها و اصول SOLID به شما یک پایه قوی میدهد. ممکن است از برخی عادات بد خودداری کنید یا آنهایی را که قبلاً آموخته اید اصلاح کنید.
همچنین توصیه میکنم اگر اخیراً از یک دانشگاه یا یک کمپ بوت کد فارغالتحصیل شدهاید، این کتاب را بخوانید. اگر کار زیادی با سیشارپ انجام نداده اید، اما به زبانهای دیگری مانند جاوا، سیپلاسپلاس، پایتون یا جاوا اسکریپت کار کردهاید، از شما دعوت میشود این کتاب را نیز بخوانید. من سعی کردم با گنجاندن یک پرایمر طولانی در C# و مفاهیم برنامهنویسی شیگرا در پیوست 1 این کتاب، کمی به شما کمک کنم.
یک گروه وجود دارد که بیشتر از همه میخواهم به آنها برسم.
من به خصوص میخواهم توسعهدهندگان خودآموزی مانند خودم را تشویق کنم. کسانی که در این کمپ هستند تمایل دارند فقط چیزهایی را که به عنوان وسیله ای برای زنده ماندن از سرعت فعلی شما کاملا ضروری است، یاد گرفته باشند.
اگر معلمان شما یوتیوب و حوزه وبلاگ هستند، به احتمال زیاد شما به راحتی ضد الگوهای موجود در فصل 1 را تشخیص خواهید داد، زیرا تا به حال احتمالاً هر گناهی را که مربوط به مهندسی نرم افزار است مرتکب شده اید. این را فقط میدانم چون خودم هم دارم. به این ترتیب، میدانم که از خواندن کتاب Real-World Implementation of C# Design Patterns بیشترین بهره را خواهید برد.
همانطور که گفتم، این کتاب برای هر کسی است که میخواهد توسعهدهنده نرمافزار بهتری شود. حدس میزنم باید فقط به آن گیر میدادم.
آنچه کتاب Real-World Implementation of C# Design Patterns پوشش میدهد:
فصل 1، در بشقاب اسپاگتی شما یک گلوله بزرگ از گل وجود دارد: قبل از اینکه به الگوها بپردازیم، بیایید بدانیم چرا به آنها نیاز داریم. دنیای توسعه نرمافزار بسیار آشفته است، اما لازم نیست که اینطور باشد. آشفتگی از مجموعه ای از نیروهای انحطاط در کار ما ناشی میشود که مطمئناً آنها را تشخیص خواهید داد.
فصل 2 کتاب Real-World Implementation of C# Design Patterns، آماده سازی برای کاربردهای واقعی الگوها در سیشارپ: برای شکست دادن نیروهای تخریبی ذکر شده در فصل 1، باید بازی خود را تقویت کنید. در این فصل برخی از قوانین و اصول ارائه شده است. اگر بتوانید به آنها پایبند باشید، نظم و انضباط لازم برای استفاده از الگوهای طراحی را برای بیشترین تأثیر خود خواهید داشت.
فصل 3 کتاب Real-World Implementation of C# Design Patterns، خلاق شدن با الگوهای خلاقانه: اکنون که کاملاً آماده شده اید، این فصل داستان ما را معرفی میکند. این الگوهای طراحی شده را پوشش میدهد تا نمونه کلاسهای شما را قویتر و انعطافپذیرتر کند. پس از خواندن این فصل، هرگز به کلمه کلیدی جدید یکسان نگاه نخواهید کرد.
فصل 4 کتاب Real-World Implementation of C# Design Patterns، کد خود را با الگوهای ساختاری تقویت کنید: این فصل تکنیکهایی را پوشش میدهد که میتوانید از آنها برای ساختار کلاسهای خود برای حداکثر انعطافپذیری و در عین حال رعایت اصول SOLID تحت پوشش در فصل 2 استفاده کنید.
فصل 5 کتاب Real-World Implementation of C# Design Patterns، مشاجره کد مشکل با استفاده از الگوهای رفتاری: الگوریتمهایی دارید؟ شما به مجموعه ای انعطافپذیر از الگوها نیاز دارید تا اثربخشی و انعطاف پذیری آنها را به حداکثر برسانید. شما به الگوهای رفتاری نیاز دارید.
فصل 6 کتاب Real-World Implementation of C# Design Patterns، از IDE فاصله بگیرید! طراحی با الگوها قبل از اینکه کدنویسی کنید: در این فصل، قبل از اینکه یک خط در IDE خود بنویسیم، راههایی را برای طراحی کد خود با الگوها در نظر میگیریم.
پس از یک چرخش ناخوشایند در داستان ما، متوجه میشویم که شرکت ما به شدت و به سرعت در حال تغییر جهت است. ما به طراحی محصول جدید نیاز داریم و هفته گذشته به آن نیاز داریم! بیایید ابتدا طرحهای خود را در UML بکشیم! این باعث صرفهجویی در زمان و انرژی میشود و از احتمال اینکه رئیسی با موهای نوک تیز به ما بگوید یک نمونه اولیه را ارسال کنیم، جلوگیری میکند.
فصل 7 کتاب Real-World Implementation of C# Design Patterns، چیزی جز تایپ باقی نمانده – اجرای پروژه ویلچر: در فصل آخر، ما به مجموعه ای زیبا از نمودارهای طراحی رسیدیم. در این فصل تایپ را انجام میدهیم. شما همان الگوهایی را که قبلاً در کتاب یاد گرفتید، پیادهسازی خواهید کرد، اما این بار، از آنها در هماهنگی با یکدیگر در یک پروژه دنیای واقعی استفاده خواهید کرد.
فصل 8 کتاب Real-World Implementation of C# Design Patterns، اکنون برخی از الگوها را میشناسید. بعد چه؟: ما تاکنون الگوهای یادگیری بسیار سرگرم کننده ای داشته ایم، اما این فقط نوک کوه یخ است. همه جا الگوها هست! آنها به تمرین OOP محدود نمیشوند. در این فصل، الگوهای GoF را که در داستان خود پوشش ندادهایم، پوشش میدهیم.
فصل 9 کتاب Real-World Implementation of C# Design Patterns، ضمیمه 1 – مروری کوتاه بر اصول OOP در سیشارپ: این ضمیمه برای کسانی طراحی شده است که به تازگی با C# آشنا شده اند یا شاید مدتی است از آن استفاده نکردهاند یا از زبان دیگری میآیند.
فصل 10 کتاب Real-World Implementation of C# Design Patterns، ضمیمه 2 – مقدمه ای در مورد زبان مدل سازی یکپارچه: زبان مدلسازی یکپارچه یک قرارداد مستندسازی است که توسط توسعهدهندگان نرمافزار استفاده میشود. این ساختار نمودارهای طراحی الگوی مورد استفاده در سراسر کتاب را تعریف میکند.
در حالی که UML دارای 14 نوع نمودار مختلف است، ما واقعاً فقط از نمودارهای کلاس استفاده میکنیم. اکثر ارائهها در مورد الگوها دارای دو نمودار هستند. من یک نمودار عمومی ترسیم میکنم و یک نمودار دوم که کد پروژه را منعکس میکند. این پیوست قراردادهای استفاده شده در نمودارها را به شما نشان میدهد.
سرفصلهای کتاب Real-World Implementation of C# Design Patterns:
- Foreword
- Contributors
- Preface
- Part 1: Introduction to Patterns (Pasta) and Antipatterns (Antipasta)
- Chapter 1: There’s a Big Ball of Mud on Your Plate of Spaghetti
- Chapter 2: Prepping for Practical Real-World Applications of Patterns in C#
- Part 2: Patterns You Need in the Real World
- Chapter 3: Getting Creative with Creational Patterns
- Chapter 4: Fortify Your Code With Structural Patterns
- Chapter 5: Wrangling Problem Code by Applying Behavioral Patterns
- Part 3: Designing New Projects Using Patterns
- Chapter 6: Step Away from the IDE! Designing with Patterns Before You Code
- Chapter 7: Nothing Left but the Typing – Implementing the Wheelchair Project
- Chapter 8: Now You Know Some Patterns, What Next?
- Appendix 1: A Brief Review of OOP Principles in C#
- Appendix 2: A Primer on the Unified Modeling Language (UML)
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Real-World Implementation of C# Design Patterns میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.