Another pattern book? Give me two!

    Hello reader! I want to talk with you about design patterns. You know, this is such an old thing that it was fashionable to write about at the end of the last century, and some monsters sometimes ask about them at interviews. I had the thought that it was time to think about them again, but this time to consider them in modern realities. Is there a more suitable way to do this, except to take ... and write a book about it?

    Why now and why about patterns? Over the past 20 years, quite a lot has happened with modern development approaches. In the early nineties there was a boom of patterns, then came the turn of DI and “programming in configuration files”, then the hype around DDD began, at the same time, functional programming techniques quickly began to gain popularity. Did all this make patterns irrelevant? From my point of view, no, it didn’t!

    Hype around the patterns really passed, and it's time to look at them from the height of our experience. For one, the patterns have lost their relevance, and for the other, the singleton remains our all. In my book, I want to take some pattern and consider it from all possible sides: see how it looks in the book of “gang of four”, consider its “canonical” modern representation, consider 3-4 typical C # implementations, think about it how it affects the design of the application, well, look at examples of their application in the .NET Framework and in modern applications.

    For example, if we talk about the godless Singleton, I will give 4 different implementations on the .NET platform, show how the classic Singleton differs from the Ambient Context pattern, and show “where” and “in what form” it is applicable in a modern application.

    Or I’ll take the factory method and consider it not only from the point of view of classical implementation, but also answer the question whether the factory method violates the Open-Closed principle on the basis of a dictionary or switch. Then I will move on to the Template Method and consider it in the context of inheritance problems and design principles for a contract, and then I will compare the classic Template Method with a specific implementation in C # based on lambda expressions .

    When I take the Visitor, I will not only show where and when it is applied, but also talk about the well-known software engineering problem called expression problem, about typical approaches to extensibility in the worlds of object-oriented and functional programming, about the role of the Visitor pattern in the context of the Open / Closed principle.

    I will talk about the “builders” not just with examples of class diagrams from a gang of four, but in a slightly different context, for example, to create test data for units and integration tests.

    I would like to not just talk about patterns, with boring canonical class diagrams, some of which cannot be found in real code. I would like to take the key GoF patterns and show how they evolved, how they are usually implemented in C #, and how much they have eaten into the .NET Framework itself and our fingers.

    And what am I leading to? The point is, dear Reader, that I need your help. The publisher (represented by the publishing house Peter aka ph_piter ) is ready to take up this book, but he needs a community opinion about the relevance of its relevance (this is not a damn thing!). We are ready to sacrifice our time to the detriment of our family and other interests, but business follows somewhat different principles.

    So, dear comrades (and comrades), if you would like to see this book in printed form, then react like a thread in the comments or in another convenient way.

    Z.Y. If you need the contents of the book, I am ready to lay it out, although it will not differ much from the contents of the classic book of the gang of four, with some branches.

    Z.Y.Y. Thanks ID Peter aka ph_piterthat he is ready to take up this business with me!

    Only registered users can participate in the survey. Please come in.

    Would such a book be interesting?

    • 74.4% Of course, give two! 797
    • 25.5% No thanks, I haven't mastered GoF yet 273

    Also popular now: