Best of Design PatternsOctober 2024

  1. 1
    Video
    Avatar of communityCommunity Picks·2y

    8 Design Patterns EVERY Developer Should Know

    The post discusses eight essential design patterns every developer should know, originating from the 1994 'Gang of Four' book. These patterns are categorized into creational, structural, and behavioral types. Key patterns covered include Factory, Builder, Singleton, Observer, Iterator, Strategy, Adapter, and Facade. Each pattern is explained with practical examples, highlighting their use cases and benefits in programming.

  2. 2
    Article
    Avatar of threedotslabsThree Dots Labs·2y

    Distributed Transactions in Go: Read Before You Try

    The post discusses the complexities of using distributed transactions in microservices with Go. It warns against using distributed transactions due to their complications and instead suggests alternatives like embracing eventual consistency and using the outbox pattern. The post also provides a detailed implementation approach for using event-driven architecture with Redis and Watermill in Go, including handling events asynchronously and ensuring data consistency. It emphasizes the importance of correct service boundaries and provides guidance on testing and monitoring event-driven systems.

  3. 3
    Article
    Avatar of itnextITNEXT·2y

    Ambiguous architectural patterns

    The post discusses ambiguous architectural patterns such as Monolith, Microkernel, Domain Services, Cells, and Nanoservices. It highlights how these terms have evolved and sometimes been misinterpreted or redefined over time, leading to confusion. It stresses the importance of understanding these differences to avoid miscommunication and inefficiency in software development.

  4. 4
    Article
    Avatar of java_libhuntAwesome Java Newsletter·2y

    The Best Microservices Design Patterns Explained Like You’re Ordering Pizza

    The post creatively explains various microservices design patterns using a pizza-making analogy. It covers essential patterns like Single Responsibility, API Gateway, Database per Service, Circuit Breaker, Event Sourcing, Saga, Strangler, Bulkhead, CQRS, Sidecar, and Backend for Frontend (BFF). Each pattern is described with its benefits and real-life examples to illustrate its practical application in software engineering.

  5. 5
    Article
    Avatar of itnextITNEXT·2y

    Real-world inspirations for architectural patterns

    Architectural patterns in software engineering are influenced by real-world examples and natural systems. Basic metapatterns like Monolith, Shards, Layers, and Services provide foundational structures, while extension and specialized patterns such as Middleware, Shared Repository, Proxy, and others offer more intricate designs to address specific needs. Understanding these parallels can enhance creativity and flexibility in software design.

  6. 6
    Article
    Avatar of javarevisitedJavarevisited·2y

    Lazy vs Eager Singleton in Java

    Lazy and Eager Singleton patterns in Java serve to create controlled instances of a class. While Eager Singleton initializes an instance at load time, Lazy Singleton delays this until it's explicitly needed. Despite subtle differences, if all use cases require an instance, Eager Singleton is generally more efficient.