Jump to content
Primož Gabrijelčič

Hands-On Design Patterns with Delphi

Recommended Posts

Original post: https://www.thedelphigeek.com/2019/02/design-patterns-with-delphi-book.html

 

Hurrah, hurray, my third book is here! It’s called Hands-On Design Patterns with Delphi and (just like my first book) I wrote it for Packt Publishing. (The second book was self-published and I expect the fourth one to be, too.)

 

As the name says, “Design Patterns with Delphi” deals with design patterns. It is a bit different from most of design pattern books and websites you will find on the Internet. Case in point A: There are no UML diagrams. I don‘t speak UML. Tried to learn it few times but for some reason the whole concept doesn‘t agree with me. If you like diagrams, don’t fear though. Any book on design patterns - and most websites covering that topic - will gladly show how any design pattern can be diagrammed. That, however, is not important and should not govern your decision to buy the book.

B11287%20(2).png

More important is case in point B: This book speaks Delphi. All the examples are written in Delphi and language features are used to the full. I also covered few less known Delphi idioms in separate sections. You’ll still be able to follow the discussion even though you may program in a different Pascal dialect.

 

There’s also case in point 😄 Examples make sense. I deeply dislike classical design pattern examples of the “And then we want to write this program for different toolkits and it should also be able to draw circles, not only squares” kind. Euch! I tried to find a good example for each design pattern. Admittedly, I ended with few examples that draw triangles and squares on screen (mostly because some patterns were designed specifically for solving such problems), but most of them are of a more practical nature.

 

This book covers all three classical design pattern categories - Creational patterns, Structural patterns, and Behavioral patterns. It also discusses patterns from the newer Concurrency patterns category. At the end I threw in some borderline-pattern(ish) topics and ended with a discussion of few patterns that cannot be strictly classified as “design” patterns.

In this book you’ll find:

  • Chapter 1

    An introduction to patterns. Exploration of design principles, design patterns, and idioms. A mention of anti-patterns. A short description of most important design principles. Delphi idioms: creating and destroying objects.
  • Chapter 2

    Creation patterns part 1. Singleton. Dependency injection. Lazy initialization. Object pool.
  • Chapter 3

    Creation patterns part 2. Factory method, Abstract factory, Prototype, Builder. Delphi idioms: Assign and AssignTo.
  • Chapter 4

    Structural patterns part 1. Composite. Flyweight. Marker interface. Bridge. Delphi idioms: comparers and hashers.
  • Chapter 5

    Structure patterns part 2. Adapter. Proxy. Decorator. Facade. Delphi idioms: replacing components in runtime. Also: helpers.
  • Chapter 6

    Behavioral patterns part 1. Null object. Template method. Command. State.
  • Chapter 7

    Behavioral patterns part 2. Iterator. Visitor. Observer. Memento. Delphi idioms: for .. in.
  • Chapter 8

    Concurrency patterns part 1. Locking. Lock striping. Double-checked locking. Optimistic locking. Readers-writers lock. Delphi idioms: tasks and threads. Also: bitwise operators.
  • Chapter 9

    Concurrency patterns part 2. Thread pool. Messaging. Future. Pipeline.
  • Chapter 10

    Writing Delphi programs. Event-driven programming. Actions. LiveBindings. Form inheritance. Frames. Data modules.
  • Chapter 11

    Wrapping it up. Exceptions. Debugging. Functional programming.

 

I hope you will like this book and learn a lot from it. I know I did during the nine months I spent writing it. And if you find any bug in the code, let me know so I can correct it in the second release!

  • Like 11
  • Thanks 14

Share this post


Link to post

I am not sure to be there, sorry. However if I'd make it, I may consider buying some copies from you to make some gifts for my best customers 😉

 

Share this post


Link to post

Mine came through the door last Thursday (UK). I'm only on Chapter 2 but have already learnt something new :-).

Share this post


Link to post

Got my ebook edition yesterday. Reading eagerly, and really appreciate the clarity of presentation!

Share this post


Link to post

Today I needed to program a "Pool Manager" and luckily, on thursday I bought the two versions of this fantastic book "print + epub version", and in chapter 2 I found a great example "Object Pool Manager", which is precisely what I need.

Thank you very much to the author.

Share this post


Link to post
On 2/27/2019 at 9:30 PM, Primož Gabrijelčič said:

Hurrah, hurray, my third book is here! 

Got your High Performance. Good stuff. Now I read the Patterns. Got stuck in the second chapter, never got time to advance.

 

I have a question about your experience with PacktPub - how was it?

I guess it was good since you published not one book but two with them. If one wants to write also a book, should it be published with them or with Amazon?

I see some positive reviews about them, but I also see some Kafka-style horror stories.

 

Would you recommend some other publishing house?

 

Thanks!

Edited by TheOnlyOne

Share this post


Link to post
On 2/16/2023 at 10:53 AM, TheOnlyOne said:

I have a question about your experience with PacktPub - how was it?

Mixed. They do their job, but you can definitely tell that it is an Indian team behind. Everything is "yes, of course" and then maybe something happens. Or maybe not. Plus they are very set in some formulaic ways - if you want to write a book, it has to fall into some already defined slot for which they know how they want organize it and then they insist on their way (how the content should be structured, what is allowed and what not etc). That is helpful, but also limiting and frustrating.

 

Most of the time it works the best if you also say "yes, of course" and then do it in your own way. 🙂

 

Technical staff and editors are mediocre, at best. They definitely will not catch all errors.

 

So - if you are looking for a perfect partner, they are not the one. If, however, you can just say "eh, whatever" from time to time and move on, they work just fine. They do pay on time, though. 

 

As for the other publishing houses, I have no idea.

  • Like 3
  • Haha 2

Share this post


Link to post
44 minutes ago, Primož Gabrijelčič said:

 Everything is "yes, of course" and then maybe something happens. Or maybe not. 

Is asian kind of thing, same as "Same same, but different" 🙂

 

  • Haha 1

Share this post


Link to post
8 hours ago, Primož Gabrijelčič said:

 

As for the other publishing houses, I have no idea.

My sole experience is with Amazon. I had two issues: First, that they reported "internal corruption" in a PDF of 480 pages. Second, that Amazon freely adjusts the sell price, when and as they wish.

Admittedly, I took a hard path, writing in LaTeX, as I wanted the control over layout. The KDP assumption is that all books are written in MS Word, and that "print to PDF" is a comprehensive solution.

My next book uses RStudio, so still LaTeX, but composed in Markdown, and RStudio handles details. Makes it simple to get an ebook from the same content, which was not possible with my first.

I am likely to try Lulu for the next, rather than KDP.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×