If you've been a software developer for a long time, you certainly know how useful a
conversation can be with a colleague who has already done something similar to what you
are doing and can explain it, as they faced the same problem. It is not possible to put all
the possible situations that a developer can face in a book, but many problems are similar
at least in principle. This is the reason this book is organized as a cookbook: just like a
combination of foods can be adapted and modied to be appropriate for different types of
dinner, a "programming recipe" can provide the idea to solve many different problems.
This book is an advanced level guide that will help Delphi developers get a higher expertise in
their everyday job. The everyday job, and the quality of your deliverables, is what contributes
to the quality of your professional life. If it does not make sense, reinvent the wheel
repeatedly, especially when working with a well-established tool, such as Delphi. The focus of
the book is to provide readers with comprehensive and detailed examples on how effectively
the Delphi software can be designed and written. All the recipes in the book are the result
of years of development, training, and consultancy activities in many different elds of the
IT industries, from the small systems with thousands of installations to the large systems
commissioned by big companies or by the government. It is not a magic book that will solve
all your development problems (if you nd it, tell me, please!), but can be helpful to get a
different point of view on a specic problem, or a hint on how to solve problems.
Armed with the knowledge of advanced concepts, such as high order functions and
anonymous methods, generics and enumerable, extended RTTI and duck typing, LiveBindings,
multi-threading, FireMonkey, mobile development, server-side development, and so on, you
will be pleasantly surprised as to how quickly and easily you can use Delphi to write high
quality, clean, readable, fast, maintainable, and extensible code.
I read too many boring programming books, so I tried to maintain a relaxed and light
exposition. A small applicability scenario that describes a situation where a particular
technology, approach, or design pattern can be used successfully introduces all the recipes.
The recipes are not too complex, because otherwise the book may become thousands of
pages long, but also not trivial because the IT books' landscape is already full of simple
examples with few direct applicability. I tried to do a good tradeoff and I hope to be able
to do it.