Best of Design Patterns — 2024

  1. 1
    Article
    Avatar of devtoDEV·2y

    2 Sites to Become a Better Developer

    Discover two valuable resources for developers: Refactoring Guru, a site that provides knowledge on refactoring and design patterns, and Exercism, a platform for learning programming languages through practice exercises.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    React Design Patterns

    React design patterns are essential for frontend development as they offer solutions to recurring challenges in component design. They promote consistency, modularity, and scalability by simplifying state management, logic, and element composition. Examples include custom hooks, higher-order components, and prop-based rendering techniques. These patterns not only solve technical problems but also enhance code efficiency, readability, and maintainability. This guide provides insights into various patterns like Custom Hook, HOC, Extensible Styles, Compound Components, Render Props, Control Props, Props Getters, State Initializer, and State Reducer, along with their benefits and implementation examples.

  3. 3
    Article
    Avatar of javarevisitedJavarevisited·2y

    Stop using if-else statements in Java

    Explore how to optimize Java code by replacing if-else statements with approaches like using enums, Factory Pattern, Strategy Pattern, and the Stream API. These methods improve code readability, maintainability, and extensibility. Examples illustrate how each method transforms if-else heavy logic into more elegant solutions.

  4. 4
    Article
    Avatar of logrocketLogRocket·2y

    JavaScript design patterns guide

    Developers use design patterns as reusable solutions to common problems. This guide demonstrates several JavaScript design patterns, including creational (factory and builder), structural (adapter and decorator), and behavioral (chain of responsibility and strategy) patterns. Each pattern is illustrated with practical code examples to aid understanding.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    Data Table Design Patterns

    This post provides best practices for designing data tables, including alignment for text and numeric columns, column separators, row division styles, subtext usage, contrast, visual indications, common table interactions, and table actions.

  6. 6
    Article
    Avatar of javarevisitedJavarevisited·1y

    S.O.L.I.D Principle Part 1

    An introduction to the S.O.L.I.D principles which are fundamental for software design patterns. This part covers the Single Responsibility Principle, Open Closed Principle, and Liskov Substitution Principle, explaining how these principles enhance flexibility, maintainability, and modularity in code. Examples and practical use cases are provided to illustrate these principles.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Compound Components Pattern in React

    Learn about the compound component pattern in React, which helps in building flexible and scalable components by using a suite of reusable components that work together to accomplish a task.

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

    DESIGN PATTERNS : A Deep Dive into Common Design Patterns

    Design patterns are reusable solutions to common design problems encountered in software development. They offer templates involving classes, interfaces, and relationships between them. Key types of design patterns include Creational, Structural, and Behavioral patterns. Each category provides specific solutions like Singleton, Builder, Factory Method, Adapter, Facade, Iterator, Strategy, and Observer patterns. Examples illustrating how these patterns can be implemented are provided to showcase their practical applications.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    mehdihadeli/awesome-software-architecture: 🚀 A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.

    A curated list of resources to learn and practice software architecture, patterns, and principles. Includes topics such as clean architecture, microservices, design patterns, and more.

  10. 10
    Article
    Avatar of techworld-with-milanTech World With Milan·2y

    How to select a Design Pattern?

    Learn about design patterns in software engineering, including their types and how to select the correct pattern for your problem.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    Design patterns

    Design patterns are recurring solutions to common design problems in user interface and persuasive design. They provide a common language between designers and improve web design.

  12. 12
    Article
    Avatar of devtoDEV·2y

    How I got a job at AWS

    Transitioning from a mid-level developer to securing a dream job at AWS requires diligent preparation. Key steps include studying coding challenges, attending Amazon's interviewing workshop, developing stories for Amazon's Leadership Principles, learning and applying useful design patterns, understanding trees and O(n) notation, and preparing thoughtful questions for the interviewer. Taking extensive notes and practicing adaptability are crucial for success. The interview process may involve phone screening, coding tests, and several in-person interviews focused on system and software design.

  13. 13
    Article
    Avatar of communityCommunity Picks·2y

    Mastering Microservices in NestJS: Powerful Design Patterns for Flexibility, Resilience, and Scalability

    Microservices architecture offers flexibility, resilience, and scalability for modern applications. Key design patterns like Gateway, Service Registry, Circuit Breaker, SAGA, CQRS, Bulkhead, Sidecar, API Composition, Event-Driven Architecture, Database per Service, Retry, and Configuration Externalization significantly enhance NestJS microservices. These patterns ensure better service management and inter-service communication.

  14. 14
    Article
    Avatar of communityCommunity Picks·2y

    How I Use Adapter Pattern in React

    The post discusses the use of the Adapter pattern in React development to handle mismatched data structures between the backend API response and React components. It explains how the Adapter pattern can be applied in React and provides an example of using the pattern with `react-query`. The post emphasizes the flexibility and organization provided by the Adapter pattern and encourages readers to explore different implementations and design patterns.

  15. 15
    Article
    Avatar of devtoDEV·2y

    Polymorphism in Javascript

    Polymorphism is a fundamental concept in object-oriented programming (OOP) languages, allowing the same function to be called with different signatures and enabling flexibility and adaptability in code design. In JavaScript, polymorphism is achieved through prototype inheritance and method overloading. It enhances code flexibility, extensibility, and reuse by allowing objects to exhibit multiple forms and behaviors based on their context. Different types of polymorphism in JavaScript include ad-hoc polymorphism, parametric polymorphism, subtype polymorphism, dynamic polymorphism, and compile-time polymorphism. Polymorphism is also leveraged in functional programming and can be applied in various design patterns, such as the strategy pattern, template method pattern, and visitor pattern.

  16. 16
    Article
    Avatar of communityCommunity Picks·2y

    Proxy in TypeScript

    Proxy is a design pattern in TypeScript that provides a substitute object for a real service object, allowing for additional behaviors without changing client code.

  17. 17
    Article
    Avatar of communityCommunity Picks·2y

    React Design Patterns

    Discover how to apply design patterns in React to simplify state management, logic, and element composition. Patterns like custom hooks, higher-order components (HOCs), and prop-based rendering techniques enhance code consistency, modularity, and scalability. These patterns not only solve technical issues but also improve code efficiency, readability, and maintainability, enabling more effective collaboration in development teams and building resilient React applications.

  18. 18
    Article
    Avatar of bitBits and Pieces·2y

    Implementing Saga Pattern in a Microservices with Node.js

    Learn how to implement the Saga Pattern in a Microservices with Node.js. Saga Pattern is a design pattern used to manage transactions and ensure data consistency across multiple services in a distributed system. There are two approaches to implementing the Saga Pattern: Choreography-Based Saga and Orchestration-Based Saga.

  19. 19
    Article
    Avatar of devtoDEV·2y

    JavaScript Design Patterns - Behavioral - Iterator

    The iterator pattern allows us to access the elements in a collection without exposing its underlying representation. It is useful when we want to access an object's content collections without knowing how it is internally represented.

  20. 20
    Article
    Avatar of justjavaJust Java·2y

    Java & Spring Best Practices | Strategy Pattern

    The new module in the `java-spring-best-practices` repository focuses on the Strategy Pattern, detailing how to implement it in a Spring application. It emphasizes designing code that is flexible and extensible, helping developers decouple algorithm selection from the main logic. Check out the module for practical examples and contribute to the project on GitHub.

  21. 21
    Article
    Avatar of kdnuggetsKDnuggets·2y

    Learning System Design: Top 5 Essential Reads

    Learn system design with these top 5 essential reads that cover design patterns, clean architecture, data-intensive applications, and system design interview preparation.

  22. 22
    Article
    Avatar of javarevisitedJavarevisited·2y

    Mastering Design Patterns in Java

    This post explores various design patterns in Java, including the Singleton pattern, Factory Design pattern, Builder pattern, Adapter pattern, and Decorator pattern. It explains how these patterns can be used to solve common design problems and improve code maintainability and reusability.

  23. 23
    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.

  24. 24
    Article
    Avatar of itnextITNEXT·2y

    Architectural Metapatterns

    The document explores the concept of architectural metapatterns in software and system architecture, offering a way to classify the vast number of patterns by focusing on a small, important, and comprehensive subset. By mapping these patterns using a design space that highlights their structures and functions, it aims to create a cohesive system of metapatterns that can be more easily understood and remembered. The approach seeks to overcome the fragmentation and proliferation of patterns by providing a unified vision and methodology.

  25. 25
    Video
    Avatar of freecodecampfreeCodeCamp·2y

    End-to-End Machine Learning Project – AI, MLOps

    The post provides a comprehensive guide on undertaking an end-to-end machine learning project focused on house price prediction. It delves into core machine learning concepts, data analysis, feature engineering, and model implementation with robust testing. Additionally, it emphasizes MLOps integrations using tools like ZenML and MLFlow for experiment tracking and deployment. The tutorial also underscores the importance of writing scalable and readable code by employing design patterns such as Factory and Strategy patterns. The project aims to differentiate itself by focusing on thorough data understanding and robust implementation practices, promising to enhance one's data science portfolio and career prospects.