Mastering Delphi Programming A Complete Reference Guide 1st Edition by Primoz Gabrijelcic – Ebook PDF Instant Download/Delivery: 1838989110, 9781838989118
Full download Mastering Delphi Programming A Complete Reference Guide 1st Edition after payment
Product details:
ISBN 10: 1838989110
ISBN 13: 9781838989118
Author: Primoz Gabrijelcic
Use structural, behavioral, and concurrent patterns in Delphi to skillfully develop applications Key Features Delve into the core patterns and components of Delphi to enhance your application’s design Learn how to select the right patterns to improve your program’s efficiency and productivity Discover how parallel programming and memory management can optimize your code Book Description Delphi is a cross-platform Integrated Development Environment (IDE) that supports rapid application development for most operating systems, including Microsoft Windows, iOS, and now Linux with RAD Studio 10.2. If you know how to use the features of Delphi, you can easily create scalable applications in no time. This Learning Path begins by explaining how to find performance bottlenecks and apply the correct algorithm to fix them. You’ll brush up on tricks, techniques, and best practices to solve common design and architectural challenges. Then, you’ll see how to leverage external libraries to write better-performing programs. You’ll also learn about the eight most important patterns that’ll enable you to develop and improve the interface between items and harmonize shared memories within threads. As you progress, you’ll also delve into improving the performance of your code and mastering cross-platform RTL improvements. By the end of this Learning Path, you’ll be able to address common design problems and feel confident while building scalable projects. This Learning Path includes content from the following Packt products: Delphi High Performance by Primoz Gabrijelcic Hands-On Design Patterns with Delphi by Primoz Gabrijelcic What you will learn Understand parallel programming and work with the various tools included with Delphi Explore memory managers and their implementation Leverage external libraries to write better-performing programs Keep up to date with the latest additions and design techniques in Delphi Get to grips with various modern multithreading approaches Break a design problem down into its component parts Who this book is for This Learning Path is for intermediate-level Delphi programmers who want to build robust applications using Delphi features. Prior knowledge of Delphi is assumed.
Mastering Delphi Programming A Complete Reference Guide 1st Table of contents:
Mastering Delphi Programming: A Complete Reference Guide
About Packt
Why subscribe?
PacktPub.com
Contributors
About the author
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
Download the example code files
Conventions used
Get in touch
Reviews
About Performance
What is performance?
Different types of speed
Algorithm complexity
Big O and Delphi data structures
Data structures in practice
Mr. Smith’s first program
Looking at code through the Big O eyes
Don’t guess, measure!
Profiling with TStopwatch
Profilers
AsmProfiler
Sampling Profiler
AQTime
Nexus Quality Suite
Summary
Fixing the Algorithm
Responsive user interfaces
Updating a progress bar
Bulk updates
Virtual display
Caching
Dynamic cache
Speeding up SlowCode
Summary
Fine-Tuning the Code
Delphi compiler settings
Code inlining control
Optimization
Record field alignment
Assertions
Overflow checking
Range checking
Extracting common expressions
The helpful CPU window
Behind the scenes
A plethora of types
Simple types
Strings
Arrays
Records
Classes
Interfaces
Optimizing method calls
Parameter passing
Method inlining
The magic of pointers
Going the assembler way
Returning to SlowCode
Summary
Memory Management
Optimizing strings and array allocations
Memory management functions
Dynamic record allocation
FastMM internals
Memory allocation in a parallel world
Replacing the default memory manager
ScaleMM
TBBMalloc
Fine-tuning SlowCode
Summary
Getting Started with the Parallel World
Processes and threads
When to parallelize the code?
Most common problems
Never access UI from a background thread
Simultaneous reading and writing
Sharing a variable
Synchronization
Critical sections
Other locking mechanisms
A short note on coding style
Shared data with built-in locking
Interlocked operations
Object life cycle
Communication
Windows messages
Synchronize and Queue
Polling
Performance
Third-party libraries
Summary
Working with Parallel Tools
TThread
Advanced TThread
Setting up a communication channel
Sending messages from a thread
Implementing a timer
Summary
Exploring Parallel Practices
Tasks and patterns
Variable capturing
Tasks
Exceptions in tasks
Parallelizing a loop
Thread pooling
Async/Await
Join
Join/Await
Future
Parallel for
Pipelines
Creating the pipeline
Stages
Displaying the result and shutting down
Summary
Using External Libraries
Using object files
Object file formats
Object file linking in practice
Using C++ libraries
Using a proxy DLL in Delphi
Summary
Introduction to Patterns
Patterns in programming
Patterns are useful
Delphi idioms – Creating and destroying an object
Gang of Four started it all
Don’t inherit – compose!
Pattern taxonomy
Creational patterns
Structural patterns
Behavioral patterns
Concurrency patterns
Criticism
Anti-patterns
Design principles
SOLID
Don’t repeat yourself
KISS and YAGNI
Summary
Singleton, Dependency Injection, Lazy Initialization, and Object Pool
Singleton
NewInstance
Lateral thinking
Dependency injection
From classes to interfaces
Using a factory method
Wrapping up
Lazy initialization
Using Spring
Object pool
Stock quote connection pool
Summary
Factory Method, Abstract Factory, Prototype, and Builder
Factory method
Painter
Modernizing the factory method pattern
Abstract factory
Prototype
Cloning records
Cloning objects
Delphi idioms – Assign and AssignTo
Serialization
Builder
Idioms – Fluent interfaces
Summary
Composite, Flyweight, Marker Interface, and Bridge
Composite
Child management
Flyweight
String interning
A practical example
Delphi idioms – comparers and hashers
Marker interface
Delphi idioms – attributes
Markers and attributes
Bridge
Bridged painting
Summary
Adapter, Proxy, Decorator, and Facade
Selecting an appropriate structural pattern
Adapter
Wrapping a class
Wrapping an interface
Implementing a queue with a list
Proxy
Delphi idioms – replacing components in runtime
Smart pointers
Unit testing with mock objects
Decorator
Decorating streams
Delphi idioms – helpers
Facade
Summary
Nullable Value, Template Method, Command, and State
Null object
Template method
Calculating the average value
Inversion of control
Command
Command-based editor
Creating commands
Commands
Invoker
Client
Macros
Cloning
State
Unquoting a string
Summary
Iterator, Visitor, Observer, and Memento
Iterator
Delphi idioms – iterating with for..in
Implementing custom enumerators
Using an iterator interface
Visitor
Observer
Observing with Spring
Memento
Summary
Locking Patterns
Delphi idioms – parallel programming
Lock
Custom locking mechanism
Lock striping
Single bit locks
Delphi idioms – bitwise operators
Double-checked locking
Optimistic locking
Readers-writer lock
Comparing reader-writer implementations
Summary
Thread pool, Messaging, Future and Pipeline
Thread pool
Idiosyncrasies of Delphi’s TThreadPool
Messaging
Windows messages
Queue and Synchronize
Polling
Future
Pipeline
Web spider
Filter stage
Downloader stage
Parser stage
Summary
Other Books You May Enjoy
Leave a review – let other readers know what you think
People also search for Mastering Delphi Programming A Complete Reference Guide 1st:
mastering delphi programming a complete
delphi complete works
delphi programming course
delphi programming books
k programming language tutorial
Tags:
Primoz Gabrijelcic,Mastering Delphi,Complete Reference