Hands-On Design Patterns with C++ | 0:e upplagan
- Häftad, Engelska, 2019
- Författare:
- Betyg:
575
kr
Skickas inom 7-11 vardagar
Butikslager
Onlinelager
I lager hos leverantör
$event.detail.name === 'store-selector' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'store-selector' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'store-selector'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'store-selector'
});
}
});"
class="h-full"
>
Beskrivning
A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++Key FeaturesDelve into the core patterns and components of C++ in order to master application designLearn 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 patternsBook DescriptionC++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. 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.The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen."By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code.What you will learnRecognize the most common design patterns used in C++Understand how to use C++ generic programming to solve common design problemsExplore the most powerful C++ idioms, their strengths, and drawbacksRediscover how to use popular C++ idioms with generic programmingUnderstand the impact of design patterns on the program's performanceWho this book is forThis 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 apps.
Produktinformation
Kategori:
Data & IT
Bandtyp:
Häftad
Språk:
Engelska
Förlag:
Okänt
Upplaga:
0
Utgiven:
2019-01-01
ISBN:
9781788832564
Sidantal:
$event.detail.name === 'primary-menu' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'primary-menu' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'primary-menu'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'primary-menu'
});
}
});"
class="h-full"
>
$event.detail.name === 'mobile-search' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'mobile-search' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'mobile-search'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'mobile-search'
});
}
});"
class="h-full"
>
$event.detail.name === 'mini-cart' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'mini-cart' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'mini-cart'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'mini-cart'
});
}
});"
class="h-full"
>
$event.detail.name === 'add-to-cart' ? isOpen = true : ''"
@close-drawer.window="() => $event.detail.name === 'add-to-cart' ? isOpen = false : ''"
@keydown.escape.window="isOpen = false"
x-init="$watch('isOpen', value => {
if (value) {
$refs.dialog.showModal();
document.body.style.overflow = 'hidden';
//emit onDrawerOpen event
$dispatch('drawer-opened', {
name: 'add-to-cart'
});
} else {
setTimeout(() => {
$refs.dialog.showModal();
$refs.dialog.close();
}, 300);
document.body.style.overflow = '';
$dispatch('drawer-closed', {
name: 'add-to-cart'
});
}
});"
class="h-full"
>