0
نام کتاب
C++ Software Design

Design Principles and Patterns for High-Quality Software

Klaus Iglberger

Paperback438 Pages
PublisherO'Reilly
Edition1
LanguageEnglish
Year2022
ISBN9781098113162
1K
A2030
انتخاب نوع چاپ:
جلد سخت
776,000ت
0
جلد نرم
696,000ت
0
طلق پاپکو و فنر
706,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#C++

#Software_Design

توضیحات

Good software design is essential for the success of your project, but designing software is hard to do. You need to have a deep understanding of the consequences of design decisions and a good overview of available design alternatives. With this book, experienced C++ developers will get a thorough, practical, and unparalleled overview of software design with this modern language.


C++ trainer and consultant Klaus Iglberger explains how you can manage dependencies and abstractions, improve changeability and extensibility of software entities, and apply and implement modern design patterns to help you take advantage of today's possibilities. Software design is the most essential aspect of a software project because it impacts the software's most important properties: maintainability, changeability, and extensibility.


•  Learn how to evaluate your code with respect to software design

•  Understand what software design is, including design goals such as changeability and extensibility

•  Explore the advantages and disadvantages of each design approach

•  Learn how design patterns help solve problems and express intent

•  Choose the right form of a design pattern to get the most out of its advantages


Why I Wrote This Book

By the time I was really digging into the language (that was a few years after the first C++ standard had been released), I had read pretty much every C++ book there was. But despite the fact that many of these books were great and definitely paved the way for my current career as a C++ trainer and consultant, they were too focused on the little details and the implementation specifics, and too far away from the bigger picture of maintainable software.


At the time, very few books truly focused on the bigger picture, dealing with the development of large software systems. Among these were John Lakos’s Large Scale C++ Software Design, a great but literally heavy introduction to dependency management, and the so-called Gang of Four book, which is the classic book on software design patterns. Unfortunately, over the years, this situation hasn’t really changed: most books, talks, blogs, etc., primarily focus on language mechanics and features—the small details and specifics. Very few, and in my opinion way too few, new releases focus on maintainable software, changeability, extensibility, and testability. And if they try to, they unfortunately quickly fall back into the common habit of explaining language mechanics and demonstrating features.

This is why I’ve written this book. A book that does not, in contrast to most others, spend time on the mechanics or the many features of the language, but primarily focuses on changeability, extensibility, and testability of software in general. A book that does not pretend that the use of new C++ standards or features will make the difference between good or bad software, but instead clearly shows that it is the management of dependencies that is decisive, that the dependencies in our code decide between it being good or bad. As such, it is a rare kind of book in the world of C++ indeed, as it focuses on the bigger picture: software design.


Who This Book Is For

This book is of value to every C++ developer. In particular, it is for every C++ developer interested in understanding the usual problems of maintainable software and learning about common solutions to these problems (and I assume that is indeed every C++ developer). However, this book is not a C++ beginner’s book. In fact, most of the guidelines in this book require some experience with software development in general and C++ in particular. For instance, I assume that you have a firm grasp of the language mechanics of inheritance hierarchies and some experience with templates. Then I can reach for the corresponding features whenever necessary and appropriate. Once in a while, I will even reach for some C++20 features (in particular C++20 concepts). However, as the focus is on software design, I will rarely dwell on explaining a particular feature, so if a feature is unknown to you, please consult your favorite C++ language reference. Only occasionally will I add some reminders, mostly about common C++ idioms (such as the Rule of 5).


About the Author

Klaus Iglberger is a freelancing C++ trainer and consultant. He shares his expertise of 15+ years of C++ in popular training courses around the world and is a frequent speaker at C++ conferences. Since his PhD in 2010 he has focused on large-scale software design and on how to improve the maintainability of software. His major interest is how to design for change and extensibility and how to apply design patterns to simplify the task.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
++C
907
Exploring C++20
1,124,000 تومان
++C
346
C++ Memory Management
691,000 تومان
++C
1,019
Effective STL
506,000 تومان
++C
1,064
Starting Out With C++
2,396,000 تومان
++C
1,023
C++20 The Complete Guide
739,000 تومان
++C
1,026
Modern C++ Programming with Test-Driven Development
602,000 تومان
++C
1,098
Real-Time C++
980,000 تومان
++C
458
Asynchronous Programming with C++
679,000 تومان
++C
1,125
C++ High Performance
990,000 تومان
++C
687
Parallel C++
450,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©