کتاب Deciphering Object-Oriented Programming with C++ (رمزگشایی برنامهنویسی شیگرا با C++: راهنمای عملی و عمیق برای پیادهسازی اصول طراحی شیگرا برای ایجاد کد قوی) با تمرکز بر دو بخش برنامهنویسی شیگرا و زبان سیپلاسپلاس، سعی دارد این زبان را با زبانی شیوا و ساده توضیح دهد. این کتاب در 21 فصل به آموزش شیگرایی و ترفندهای آن با استفاده از زبان ++C خواهد پرداخت.
در ادامه مقدمهای از کتاب Deciphering Object-Oriented Programming with C++ را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Deciphering Object-Oriented Programming with C++:
شرکتها انتخاب میکنند که از C++ برای سرعت آن استفاده کنند. با این حال، طراحی نرم افزار شیگرا (OO) منجر به کدهای قویتر میشود که اصلاح و نگهداری آن آسان تر است. بنابراین، درک نحوه استفاده از C++ به عنوان یک زبان شیگرا ضروری است.
برنامهنویسی در C++ برنامهنویسی شیگرا (OOP) را تضمین نمیکند – شما باید مفاهیم OO و نحوه نگاشت آنها به ویژگیهای زبان C++ و تکنیکهای برنامهنویسی را بدانید. علاوه بر این، برنامهنویسان میخواهند از مهارتهای اضافی فراتر از OOP بهره ببرند تا کد را عمومیتر و قویتر کنند، و همچنین از راه حلهای خلاقانه و آزمایش شده استفاده کنند که میتواند در الگوهای طراحی محبوب یافت شود. همچنین برای برنامهنویسان درک ویژگیها و قراردادهای زبانی که میتواند C++ را به زبان ایمن تری برای استفاده تبدیل کند بسیار مهم است.
برنامهنویسی که یاد میگیرد چگونه از ++C به عنوان یک زبان شیگرا استفاده کند، با پیروی از قراردادهای برنامهنویسی ایمن، به یک توسعهدهنده با ارزش C++ تبدیل میشود – توسعهدهندهای که نگهداری، اصلاح و درک کدش توسط دیگران آسان است.
بیشتر بخوانید: کتاب C++ Software Design
کتاب Deciphering Object-Oriented Programming with C++ دارای توضیحات گامبهگام مفاهیم ضروری OO است که با مثالهای عملی در کد و اغلب با نمودارها همراه شده است تا بتوانید واقعاً بفهمید که چگونه و چرا کار میکنند. سوالات خودارزیابی برای آزمایش مهارتهای شما در دسترس هستند.
کتاب Deciphering Object-Oriented Programming with C++ ابتدا بلوکهای ساختمانی لازم از مهارتها را ارائه میکند (که ممکن است شیگرا نباشند) که پایه و اساس اساسی برای ایجاد مهارتهای OOP را فراهم میکند. در مرحله بعد، مفاهیم OO شرح داده میشوند و با ویژگیهای زبان و همچنین تکنیکهای کدنویسی جفت میشوند تا بتوانید نحوه استفاده موفقیتآمیز از C++ به عنوان یک زبان OOP را درک کنید.
علاوه بر این، مهارتهای پیشرفتهتری برای تقویت مجموعه برنامهنویس اضافه میشود، از جمله عملکرد/کلاسهای دوست، بارگذاری بیش از حد اپراتور، الگوها (برای ساخت کدهای عمومیتر)، رسیدگی به استثناها (برای ایجاد کد قوی)، اصول کتابخانه قالب استاندارد (STL) و همچنین به عنوان الگوها و اصطلاحات طراحی. این کتاب با بررسی مجدد ساختارهای برنامهنویسی ارائه شده در سراسر کتاب، همراه با قراردادهایی که منجر به برنامهنویسی ایمن تر در C ++ میشود، به پایان میرسد. هدف نهایی این است که شما را قادر به تولید کد قوی کند که نگهداری و درک آن توسط دیگران آسان باشد.
در پایان کتاب Deciphering Object-Oriented Programming with C++، مفاهیم ضروری و پیشرفته OO و نحوه پیاده سازی این مفاهیم در C++ را خواهید فهمید. شما یک جعبه ابزار همهکاره از مهارتهای برنامهنویسی C++ خواهید داشت. علاوه بر این، راههایی برای ایجاد کد ایمنتر، قویتر و قابل نگهداری آسانتر و همچنین نحوه استفاده از الگوهای طراحی بهخوبی آزمایششده به عنوان بخشی از مجموعه برنامهنویسی خود را خواهید فهمید.
کتاب Deciphering Object-Oriented Programming with C++ برای چه کسانی است؟
برنامهنویسانی که میخواهند از C++ برای OOP استفاده کنند، این کتاب را برای درک نحوه پیادهسازی طرحهای OO در C++ از طریق ویژگیهای زبان و تکنیکهای برنامهنویسی پیشرفته، در عین ایجاد کد قوی و به راحتی قابل نگهداری، ضروری میدانند. این کتاب OOP تجربه برنامهنویسی قبلی را در نظر میگیرد. با این حال، اگر تجربه قبلی C++ محدود یا نداشتید، فصلهای اولیه به شما کمک میکنند مهارتهای ضروری C++ را بیاموزید تا به عنوان پایهای برای بسیاری از بخشهای OOP، ویژگیهای پیشرفته، الگوهای طراحی، و قراردادها برای ترویج برنامهنویسی ایمن در C++ باشد.
آنچه کتاب Deciphering Object-Oriented Programming with C++ پوشش میدهد:
فصل 1، درک مفروضات پایه ++C، مروری مختصر از ویژگیهای زبان پایه که دانش فرضی در کتاب هستند، ارائه میکند. برنامهنویسان موجود میتوانند به سرعت مبانی زبان بررسی شده در این فصل اول را درک کنند.
فصل 2 کتاب Deciphering Object-Oriented Programming with C++، افزودن نیازهای زبان، ویژگیهای غیر OO را که بلوکهای سازنده C++ هستند بررسی میکند: واجد شرایط const، نمونهسازی اولیه تابع (مقادیر پیشفرض)، و بارگذاری بیش از حد تابع.
فصل 3 کتاب Deciphering Object-Oriented Programming with C++، آدرسدهی غیرمستقیم – اشارهگرها، اشارهگرها را در C++، از جمله تخصیص/تخصیص حافظه، استفاده از اشاره گر/ عدم ارجاع، استفاده در آرگومانهای تابع، نشانگرهای خالی، مرور میکند و مفهوم اشاره گرهای هوشمند را معرفی میکند.
فصل 4، آدرسدهی غیرمستقیم – مراجع، ارجاعات را به عنوان جایگزینی برای اشارهگرها، از جمله مقداردهی اولیه، آرگومانهای تابع/مقادیر بازگشتی، و واجد شرایط بودن const معرفی میکند.
فصل 5 کتاب Deciphering Object-Oriented Programming with C++، کاوش در کلاسها به تفصیل، OOP را با کاوش در OO و مفاهیم کپسولهسازی و پنهان کردن اطلاعات معرفی میکند، و سپس ویژگیهای کلاس را با جزئیات پوشش میدهد: توابع عضو، این اشارهگر، برچسبها و مناطق دسترسی، سازندهها، تخریبگر و واجد شرایط در اعضای داده و توابع عضو (const، static و inline).
فصل 6، اجرای سلسله مراتب با وراثت منفرد، جزئیات تعمیم و تخصص با استفاده از وراثت منفرد. این فصل اعضای ارثی، استفاده از سازندههای کلاس پایه، مناطق دسترسی ارثی، ترتیب ساخت/تخریب، کلاسهای نهایی، و همچنین کلاسهای پایه عمومی در مقابل خصوصی و محافظت شده را پوشش میدهد، و اینکه چگونه این امر معنای وراثت را تغییر میدهد.
فصل 7 کتاب Deciphering Object-Oriented Programming with C++، استفاده از اتصال پویا از طریق چندشکلی، مفهوم چندشکلی OO را تشریح میکند و سپس عملیات را از متد متمایز میکند، جزئیات توابع مجازی و اتصال زمان اجرا روشها به عملیات (از جمله نحوه عملکرد جدول v) را مشخص میکند و تفاوت استفاده از virtual, override, و final را شرح خواهد داد.
فصل 8، تسلط بر کلاسهای انتزاعی، مفهوم OO کلاسهای انتزاعی، پیادهسازی آنها با استفاده از توابع مجازی خالص، مفهوم OO یک رابط و نحوه پیادهسازی آن، و همچنین ارسال بالا و پایین در یک سلسله مراتب ارث عمومی را توضیح میدهد.
فصل 9، بررسی وراثت چندگانه، جزئیات نحوه استفاده از وراثت چندگانه و همچنین بحث آن را در طرحهای OO شرح میدهد. این فصل کلاسهای پایه مجازی، سلسلهمراتبهای الماسی شکل و زمان در نظر گرفتن طرحهای جایگزین را با بررسی مفهوم OO از یک تمایز پوشش میدهد.
فصل 10 کتاب Deciphering Object-Oriented Programming with C++، پیادهسازی انجمن، تجمیع و ترکیب، مفاهیم OO مربوط به تداعی، تجمیع و ترکیب و نحوه اجرای هر مفهوم را با استفاده از اشارهگرها، مجموعهای از اشارهگرها، محدودیتها و گاهی اوقات مراجع را شرح میدهد.
فصل 11، مدیریت استثناها، نحوه امتحان کردن، پرتاب کردن و گرفتن استثناها را با در نظر گرفتن بسیاری از سناریوهای استثنا توضیح میدهد. این فصل نحوه گسترش سلسله مراتب مدیریت استثنا را نشان میدهد.
فصل 12، Friends and Operator Overloading، استفاده صحیح از توابع و کلاسهای دوست را توضیح میدهد، و بارگذاری بیش از حد اپراتور (که ممکن است از دوستان استفاده کند) را بررسی میکند تا به یک اپراتور اجازه دهد تا با انواع تعریف شده توسط کاربر به همان روشی که با انواع استاندارد کار میکند، کار کند.
فصل 13، کار با الگوها، جزئیات توابع الگو و کلاسها برای عمومی کردن انواع خاصی از کدها برای کار با هر نوع داده. این فصل همچنین نشان میدهد که چگونه بارگذاری بیش از حد اپراتور میتواند کد انتخاب شده را برای هر نوع عمومیتر کند تا از استفاده بیشتر از الگوها پشتیبانی کند.
فصل 14، درک مبانی STL، کتابخانه قالب استاندارد را در C++ معرفی میکند و نحوه استفاده از کانتینرهای رایج، مانند list، iterator، deque، stack، queue، priority_queue و map را نشان میدهد. علاوه بر این، الگوریتمها و تابعهای STL نیز معرفی شدهاند.
فصل 15، تست کلاسها و مؤلفهها، روشهای آزمایش OO را با استفاده از فرم کلاس متعارف و درایورها برای آزمایش کلاسها نشان میدهد و نشان میدهد که چگونه کلاسهای مرتبط از طریق وراثت، ارتباط و تجمیع را آزمایش کنیم. این فصل همچنین نحوه آزمایش کلاسهایی را که از مدیریت استثنا استفاده میکنند نشان میدهد.
فصل 16 کتاب Deciphering Object-Oriented Programming with C++، با استفاده از الگوی مشاهدهگر، الگوهای طراحی را به طور کلی معرفی میکند و سپس الگوی Observer را با یک مثال عمیق که اجزای الگو را نشان میدهد، توضیح میدهد.
فصل 17، اعمال الگوی کارخانه، الگوی Factory Method را معرفی میکند و اجرای آن را با و بدون Object Factory نشان میدهد. همچنین یک کارخانه شیء را با یک کارخانه انتزاعی مقایسه میکند.
فصل 18 کتاب Deciphering Object-Oriented Programming with C++، اعمال الگوی آداپتور، الگوی آداپتور را بررسی میکند، استراتژیها و مثالهایی را ارائه میکند که از وراثت در مقابل ارتباط برای اجرای الگو استفاده میکنند. علاوه بر این، این فصل یک کلاس wrapper را به عنوان یک آداپتور ساده نشان میدهد.
فصل 19، با استفاده از الگوی Singleton، به طور مفصل الگوی Singleton را با یک پیاده سازی پیچیده در کلاس زوج بررسی میکند. رجیستریهای Singleton نیز معرفی شده اند.
فصل 20، حذف جزئیات پیادهسازی با استفاده از الگوی pImpl، الگوی pImpl را توصیف میکند که برای کاهش وابستگیهای زمان کامپایل در کد استفاده میشود. پیاده سازی دقیق با استفاده از اشاره گرهای منحصر به فرد مورد بررسی قرار میگیرد. مسائل مربوط به عملکرد مربوط به الگو بررسی میشود.
فصل 21 کتاب Deciphering Object-Oriented Programming with C++، ایمنتر کردن C++، با هدف شناسایی دستورالعملهای برنامهنویسی اصلی که میتوانند برای تبدیل C++ به یک زبان امنتر برای توسعه نرمافزارهای قوی مورد استفاده قرار گیرند، دوباره به موضوعاتی که در سراسر کتاب پرداخته شدهاند، بازبینی میکند.
ارزیابی ها شامل تمام پاسخ های سؤالات هر فصل است.
سرفصلهای کتاب Deciphering Object-Oriented Programming with C++:
- Contributors
- About the author
- About the reviewers
- Preface
- Part 1: C++ Building Block Essentials
- Chapter 1: Understanding Basic C++ Assumptions
- Chapter 2: Adding Language Necessities
- Chapter 3: Indirect Addressing – Pointers
- Chapter 4: Indirect Addressing – References
- Part 2: Implementing Object-Oriented Concepts in C++
- Chapter 5: Exploring Classes in Detail
- Chapter 6: Implementing Hierarchies with Single Inheritance
- Chapter 7: Utilizing Dynamic Binding through Polymorphism
- Chapter 8: Mastering Abstract Classes
- Chapter 9: Exploring Multiple Inheritance
- Chapter 10: Implementing Association, Aggregation, and Composition
- Part 3: Expanding Your C++ Programming Repertoire
- Chapter 11: Handling Exceptions
- Chapter 12: Friends and Operator Overloading
- Chapter 13: Working with Templates
- Chapter 14: Understanding STL Basics
- Chapter 15: Testing Classes and Components
- Part 4: Design Patterns and Idioms in C++
- Chapter 16: Using the Observer Pattern
- Chapter 17: Applying the Factory Pattern
- Chapter 18: Applying the Adapter Pattern
- Chapter 19: Using the Singleton Pattern
- Chapter 20: Removing Implementation Details Using the pImpl Pattern
- Part 5: Considerations for Safer Programming in C++
- Chapter 21: Making C++ Safer
- Assessments
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Deciphering Object-Oriented Programming with C++ میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.