ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Hands-On Design Patterns with C++

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

Hands-On Design Patterns with C++

مشخصات کتاب

Hands-On Design Patterns with C++

ویرایش: [2 ed.] 
نویسندگان:   
سری:  
ISBN (شابک) : 9781804611555 
ناشر: Packtpub 
سال نشر: 2023 
تعداد صفحات: 626 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 3 Mb 

قیمت کتاب (تومان) : 50,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 5


در صورت تبدیل فایل کتاب Hands-On Design Patterns with C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب الگوهای طراحی دستی با C نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


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

راهنمای جامع با پوشش گسترده مفاهیمی مانند OOP، برنامه‌نویسی کاربردی، برنامه‌نویسی عمومی، همزمانی، و STL به همراه آخرین ویژگی‌های C Purchase کتاب چاپی یا Kindle شامل یک کتاب الکترونیکی PDF رایگان ویژگی‌های کلیدی: بررسی الگوهای اصلی و مولفه های C برای تسلط بر طراحی اپلیکیشن آموزش ترفندها، تکنیک ها و بهترین شیوه ها برای حل چالش های رایج طراحی و معماری درک محدودیت های اعمال شده توسط C و نحوه حل آنها با استفاده از الگوهای طراحی توضیحات کتاب: C یک زبان برنامه نویسی همه منظوره است که برای کارایی طراحی شده است. ، عملکرد و انعطاف پذیری الگوهای طراحی راه حل های پذیرفته شده ای برای مشکلات طراحی شناخته شده هستند. در اصل، آنها یک کتابخانه از اجزای قابل استفاده مجدد هستند، فقط برای معماری نرم افزار، و نه برای پیاده سازی مشخص. این کتاب به شما کمک می کند تا روی الگوهای طراحی که به طور طبیعی با نیازهای شما سازگار است و الگوهایی که به طور منحصر به فردی از ویژگی های C بهره می برند تمرکز کنید. با داشتن دانش این الگوها، زمان کمتری را صرف جستجوی راه حل برای مشکلات رایج و مقابله با چالش ها با راه حل های توسعه یافته از تجربه خواهید کرد. شما همچنین خواهید فهمید که الگوهای طراحی روشی مختصر و کارآمد برای برقراری ارتباط هستند، زیرا الگوها راه حلی آشنا و قابل تشخیص برای یک مشکل خاص هستند و می توانند مقدار قابل توجهی از اطلاعات را با یک خط کد منتقل کنند. در پایان این کتاب، شما درک عمیقی از نحوه استفاده از الگوهای طراحی برای نوشتن نرم افزارهای قابل نگهداری، قوی و قابل استفاده مجدد خواهید داشت. آنچه خواهید آموخت: رایج ترین الگوهای طراحی مورد استفاده در C را بشناسید درک نحوه استفاده از برنامه نویسی عمومی C برای حل مشکلات رایج طراحی. الگوها و اصطلاحات جدید با ویژگی های زبان C 17 و C 20 امکان پذیر شده است. الگوها و اصول و اعمال آنها برای ایجاد برنامه ها و سیستم های نرم افزاری قوی، قابل استفاده مجدد و به راحتی قابل نگهداری است.


توضیحاتی درمورد کتاب به خارجی

A comprehensive guide with extensive coverage of concepts such as OOP, functional programming, generic programming, concurrency, and STL along with the latest features of C++ Purchase of the print or Kindle book includes a free PDF eBook Key Features: Delve into the core patterns and components of C++ to master application design Learn tricks, techniques, and best practices to solve common design and architectural challenges Understand the limitation imposed by C++ and how to solve them using design patterns Book Description: C++ is a general-purpose programming language designed for efficiency, performance, and flexibility. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. This book helps you focus on the design patterns that naturally adapt to your needs, and on the patterns that uniquely benefit from the features of C++. Armed with the knowledge of these patterns, you\'ll spend less time searching for solutions to common problems and tackle challenges with the solutions developed from experience. You\'ll also explore that design patterns are a concise and efficient way to communicate, as patterns are a familiar and recognizable solution to a specific problem and can convey a considerable amount of information with a single line of code. By the end of this book, you\'ll have a deep understanding of how to use design patterns to write maintainable, robust, and reusable software. What You Will Learn: Recognize the most common design patterns used in C++ Understand how to use C++ generic programming to solve common design problems Explore the most powerful C++ idioms, their strengths, and their drawbacks Rediscover how to use popular C++ idioms with generic programming Discover new patterns and idioms made possible by language features of C++17 and C++20 Understand the impact of design patterns on the program\'s performance Who this book is for: This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable programs and software systems.



فهرست مطالب

Cover
Copyright
Contributors
Table of Contents
Preface
Part 1: Getting Started with C++ Features and Concepts
Chapter 1: An Introduction to Inheritance and Polymorphism
	Classes and objects
	Inheritance and class hierarchies
	Polymorphism and virtual functions
	Multiple inheritance
	Summary
	Questions
	Further reading
Chapter 2: Class and Function Templates
	Templates in C++
		Function templates
		Class templates
		Variable templates
		Non-type template parameters
		Template template parameters
	Template instantiations
		Function templates
		Class templates
	Template specializations
		Explicit specialization
		Partial specialization
		Template function overloading
	Variadic templates
	Lambda expressions
	Concepts
	Summary
	Questions
	Further reading
Chapter 3: Memory and Ownership
	Technical requirements
	What is memory ownership?
		Well-designed memory ownership
		Poorly designed memory ownership
	Expressing memory ownership in C++
		Expressing non-ownership
		Expressing exclusive ownership
		Expressing transfer of exclusive ownership
		Expressing shared ownership
	Owning objects and views
		Resource-owning objects
		Non-owning access to resource-owning objects
	Summary
	Questions
	Further reading
Part 2: Common C++ Idioms
Chapter 4: Swap – from Simple to Subtle
	Technical requirements
	Swap and the standard template library
		Swap and STL containers
		Non-member swap
		Swapping like the standard
	When and why to use swap
		Swap and exception safety
		Other common swap idioms
		How to implement and use swap correctly
		Implementing swap
		Using swap correctly
	Summary
	Questions
Chapter 5: A Comprehensive Look at RAII
	Technical requirements
	Resource management in C++
		Installing the microbenchmark library
		Installing Google Test
		Counting resources
	Dangers of manual resource management
		Manual resource management is error-prone
		Resource management and exception safety
	The RAII idiom
		RAII in a nutshell
		RAII for other resources
		Releasing early
		Careful implementation of Resource Acquisition is Initialization objects
		Downsides of RAII
	Very modern RAII
	Summary
	Questions
	Further reading
Chapter 6: Understanding Type Erasure
	Technical requirements
	What is type erasure?
		Type erasure by example
		From example to generalization
	Type erasure as a design pattern
		Type erasure as an implementation technique
	How is type erasure implemented in C++?
		Very old type erasure
		Type erasure using inheritance
		Type erasure without memory allocation
		Type erasure without inheritance
		Efficient type erasure
	Performance of type erasure
		Installing the micro-benchmark library
		The overhead of type erasure
	Guidelines for using type erasure
	Summary
	Questions
Chapter 7: SFINAE, Concepts, and Overload Resolution Management
	Technical requirements
	Overload resolution and overload sets
		C++ function overloading
		Template functions
	Type substitution in template functions
		Type deduction and substitution
		Substitution failure
		Substitution Failure Is Not An Error
		When substitution failure is still an error
		Where and why does substitution failure happen?
	Concepts and constraints in C++20
		Constraints in C++20
		Concepts in C++20
		Concepts and type restrictions
	SFINAE techniques
		SFINAE in C++20
		SFINAE and type traits
		Concepts before concepts
	Constrained templates – the best practices
	Summary
	Questions
Part 3: C++ Design Patterns
Chapter 8: The Curiously Recurring Template Pattern
	Technical requirements
		What is wrong with a virtual function?
		Introducing CRTP
	CRTP and static polymorphism
		Compile-time polymorphism
		The compile-time pure virtual function
		Destructors and polymorphic deletion
		CRTP and access control
	CRTP as a delegation pattern
		Expanding the interface
		CRTP and concepts
	CRTP as an implementation technique
		CRTP for code reuse
		CRTP for generic interfaces
	CRTP and policy-based design
	Summary
	Questions
Chapter 9: Named Arguments, Method Chaining, and the Builder Pattern
	Technical requirements
		What’s wrong with many arguments?
		Aggregate parameters
	Named arguments in C++
		Method chaining
		Method chaining and named arguments
		Performance of the named arguments idiom
	General method chaining
		Method chaining versus method cascading
		General method chaining
		Method chaining in class hierarchies
	The Builder pattern
		Basics of the Builder pattern
		The fluent Builder
		The implicit builder
	Summary
	Questions
Chapter 10: Local Buffer Optimization
	Technical requirements
	The overhead of small memory allocations
		The cost of memory allocations
	Introducing local buffer optimization
		The main idea
		Effect of local buffer optimization
		Additional optimizations
	Local buffer optimization beyond strings
		Small vector
		Small queue
		Type-erased and callable objects
		Local buffer optimization in the standard library
	Local buffer optimization in detail
	Downsides of local buffer optimization
	Summary
	Questions
Chapter 11: ScopeGuard
	Technical requirements
	Error handling and resource acquisition is initialization
		Error safety and exception safety
		Resource Acquisition Is Initialization
	The ScopeGuard pattern
		ScopeGuard basics
		Generic ScopeGuard
	ScopeGuard and exceptions
		What must not throw an exception
		Exception-driven ScopeGuard
	Type-erased ScopeGuard
	Summary
	Questions
Chapter 12: Friend Factory
	Technical requirements
	Friends in C++
		How to grant friendship in C++
		Friends versus member functions
		Subtle details of friendship
	Friends and templates
		Friends of template classes
	The template friend factory
		Generating friends on demand
	The friend factory and the Curiously Recurring Template Pattern
	Summary
	Questions
Chapter 13: Virtual Constructors and Factories
	Technical requirements
	Why constructors cannot be virtual
		When does an object get its type?
	The Factory pattern
		The basics of the Factory method
		Factory clarification
		Arguments for factory methods
		Dynamic type registry
		Polymorphic factory
	Factory-like patterns in C++
		Polymorphic copy
		CRTP Factory and return types
		CRTP for Factory implementation
		Factory and Builder
	Summary
	Questions
Chapter 14: The Template Method Pattern and the Non-Virtual Idiom
	Technical requirements
	The Template Method pattern
		The Template Method in C++
		Applications of the Template Method
		Pre-and post-conditions and actions
	The Non-Virtual Interface
		Virtual functions and access
		The NVI idiom in C++
		Template Method vs Strategy
		A note about destructors
	Drawbacks of the Non-Virtual Interface
		Composability
		The Fragile Base Class problem
		A cautionary note about template customization points
	Summary
	Questions
Part 4: Advanced C++ Design Patterns
Chapter 15: Policy-Based Design
	Technical requirements
	Strategy pattern and policy-based design
		Foundations of policy-based design
		Implementation of policies
		Use of policy objects
	Advanced policy-based design
		Policies for constructors
		Policies for test
		Policy adapters and aliases
		Using policies to control the public interface
		Rebinding policies
	Recommendations and guidelines
		Strengths of the policy-based design
		Disadvantages of policy-based design
		Guidelines for policy-based designs
	Summary
	Questions
Chapter 16: Adapters and Decorators
	Technical requirements
	The decorator pattern
		Basic decorator pattern
		Decorators the C++ way
		Polymorphic decorators and their limitations
		Composable decorators
	The Adapter pattern
		Basic Adapter pattern
		Function adapters
		Adapter or Decorator
		Compile-time adapters
	Adapter versus policy
		Adapter solution
		Policy solution
	Summary
	Questions
Chapter 17: The Visitor Pattern and Multiple Dispatch
	The Visitor pattern
		What is the Visitor pattern?
		Basic Visitor in C++
		Visitor generalizations and limitations
	Visiting complex objects
		Visiting composite objects
		Serialization and deserialization with Visitor
	Acyclic Visitor
	Visitors in modern C++
		Generic Visitor
		Lambda Visitor
		Generic Acyclic Visitor
	Compile-time Visitor
	Visitor in C++17
	Summary
	Questions
Chapter 18: Patterns for Concurrency
	Technical requirements
	C++ and concurrency
	Synchronization patterns
		Mutex and locking patterns
		No sharing is the best sharing
		Waiting patterns
		Lock-free synchronization patterns
	Concurrent design patterns and guidelines
		Thread safety guarantees
		Transactional interface design
		Data structures with access limitations
	Concurrent execution patterns
		Active object
		Reactor Object pattern
		Proactor Object pattern
		Monitor pattern
	Coroutine patterns in C++
	Summary
	Questions
Assessments
Index
Other Books You May Enjoy




نظرات کاربران