Right now you can only get it by buying Delphi XE5. I just finished reading it, and I love it. I think that the title needs to be understood with the word "Modern" put in there somewhere. Maybe "Coding in a Modern Delphi Style" would fit the content well. The title is fine, but I'm just putting that out there so you know what you're in for.
Did you want to know more about the proper use of Generics, not just the consumption of a Generic type (making containers using TList<TMyObject> ) but also enough to start really building your own Generics? Do you want to learn how to dive into Spring4D (Spring for Delphi) and use its powerful capabilities? Do you want to learn to use fakes (stubs and mocks) to isolate classes so they can be truly unit tested? Do you understand the real difference between unit testing and integration? If you're not using isolation frameworks, or you don't know how to use them, or isolate your classes, is it possible that there's a whole new and better level of test coverage?
Do you feel that you were late to the party, and nobody ever explained all the things that the cool up to speed delphi developers know? This book is conversational, friendly, approachable, code-centered, and although I already understand 90% of what is in the book, I still found there were some parts that really made my head bulge a little.
The book focuses on the raw coding aspects, and low level coding concerns, not on high level issues like user interface, or even architectural concerns like MVC. The well known and beloved core Object-Oriented principles in the S.O.L.I.D. family, as preached by Uncle Bob Martin, are mentioned and given brief homage, but not expanded upon. This is well and good, or Nick would still be writing this book and it would be eight times its current length.
Having finished reading the book, I'm going to go download all the add-ons and frameworks and libraries that Nick has gone over, and spend some time playing with them, and then I'll go read the book again. I think that if you try to absorb everything in the book at once, you might get a bit of a headache. Instead I took it in over a couple days, let it wash over me and then I'll go back over it again in more detail.
I believe so strongly in the KISS and YAGNI principles, that I still don't think I'll be using all the shiny things that Nick talks about in this book, unless I can clearly see how using them benefits both the developers and the users of the code. But I'm so clearly sold on the benefits of isolation, and testability, and design for quality and testability, that you don't have to sell me any further. It's just a matter of using these technologies in a way that can be done without substantially degrading debug capabilities. (That is the secret down side of interfaces, and isolation, and dependency injection. Your code can turn into a mysterious pile of mysterious semi-readable angle-bracket soup.)
I am hopeful that there is a way to pacify both the desire in me to build testable, quality systems, and the desire to build readable simple systems that don't go down the Hammer-Factory-Factory road to hell.
If you want a copy, go buy XE5, or wait until some time next year when the book will have a wider release. It's great though. You really should get it. Nick joins my other favorite Delphi authors, like Marco Cantu, Bob Swart, Xavier Pacheco, and Ray Konopka on the virtual Delphi book authors shelf in my coding book collection, and it's a fine addition to the canon of Delphi books.
Did you want to know more about the proper use of Generics, not just the consumption of a Generic type (making containers using TList<TMyObject> ) but also enough to start really building your own Generics? Do you want to learn how to dive into Spring4D (Spring for Delphi) and use its powerful capabilities? Do you want to learn to use fakes (stubs and mocks) to isolate classes so they can be truly unit tested? Do you understand the real difference between unit testing and integration? If you're not using isolation frameworks, or you don't know how to use them, or isolate your classes, is it possible that there's a whole new and better level of test coverage?
Do you feel that you were late to the party, and nobody ever explained all the things that the cool up to speed delphi developers know? This book is conversational, friendly, approachable, code-centered, and although I already understand 90% of what is in the book, I still found there were some parts that really made my head bulge a little.
The book focuses on the raw coding aspects, and low level coding concerns, not on high level issues like user interface, or even architectural concerns like MVC. The well known and beloved core Object-Oriented principles in the S.O.L.I.D. family, as preached by Uncle Bob Martin, are mentioned and given brief homage, but not expanded upon. This is well and good, or Nick would still be writing this book and it would be eight times its current length.
Having finished reading the book, I'm going to go download all the add-ons and frameworks and libraries that Nick has gone over, and spend some time playing with them, and then I'll go read the book again. I think that if you try to absorb everything in the book at once, you might get a bit of a headache. Instead I took it in over a couple days, let it wash over me and then I'll go back over it again in more detail.
I believe so strongly in the KISS and YAGNI principles, that I still don't think I'll be using all the shiny things that Nick talks about in this book, unless I can clearly see how using them benefits both the developers and the users of the code. But I'm so clearly sold on the benefits of isolation, and testability, and design for quality and testability, that you don't have to sell me any further. It's just a matter of using these technologies in a way that can be done without substantially degrading debug capabilities. (That is the secret down side of interfaces, and isolation, and dependency injection. Your code can turn into a mysterious pile of mysterious semi-readable angle-bracket soup.)
I am hopeful that there is a way to pacify both the desire in me to build testable, quality systems, and the desire to build readable simple systems that don't go down the Hammer-Factory-Factory road to hell.
If you want a copy, go buy XE5, or wait until some time next year when the book will have a wider release. It's great though. You really should get it. Nick joins my other favorite Delphi authors, like Marco Cantu, Bob Swart, Xavier Pacheco, and Ray Konopka on the virtual Delphi book authors shelf in my coding book collection, and it's a fine addition to the canon of Delphi books.