Design patterns let you apply existing solutions to your code

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • chromium

    The official GitHub mirror of the Chromium source

    https://github.com/chromium/chromium/search?q=visitor

    And the list goes on, and on.

    This is true for V8, which underlies NodeJS, and is the engine that powers most modern JavaScript:

    https://github.com/v8/v8/search?q=factory

    V8 was designed by the same engineers who built the Java Virtual Machine, and what techniques did they employ to build this massive piece of software that runs the modern web? Object oriented design, and design patterns.

    It's very probable people designing modern web applications for the FAANGs are not particularly aware of design patterns, or even maybe that MVC is a design pattern even if they are using it. It's possible many design patterns aren't useful for the types of problems they are solving, or could complicate matters if they used them haphazardly.

    But the engine driving every single JavaScript program, is built on top of a behemoth of object oriented, design pattern laden, software, written by FAANG engineers that I promise you understand design patterns extremely well.

    I'm not saying this is the end all, be all, of software design. Or that "modern" functional takes on software design (most functional languages and ideas predate OOP) aren't perfectly valid, or successful. Or even that they couldn't solve many of these problems.

    I'm just contesting any dogmatic rejection of what has actually been one of the most successful branches of software design.

  • V8

    The official mirror of the V8 Git repository

    https://github.com/chromium/chromium/search?q=visitor

    And the list goes on, and on.

    This is true for V8, which underlies NodeJS, and is the engine that powers most modern JavaScript:

    https://github.com/v8/v8/search?q=factory

    V8 was designed by the same engineers who built the Java Virtual Machine, and what techniques did they employ to build this massive piece of software that runs the modern web? Object oriented design, and design patterns.

    It's very probable people designing modern web applications for the FAANGs are not particularly aware of design patterns, or even maybe that MVC is a design pattern even if they are using it. It's possible many design patterns aren't useful for the types of problems they are solving, or could complicate matters if they used them haphazardly.

    But the engine driving every single JavaScript program, is built on top of a behemoth of object oriented, design pattern laden, software, written by FAANG engineers that I promise you understand design patterns extremely well.

    I'm not saying this is the end all, be all, of software design. Or that "modern" functional takes on software design (most functional languages and ideas predate OOP) aren't perfectly valid, or successful. Or even that they couldn't solve many of these problems.

    I'm just contesting any dogmatic rejection of what has actually been one of the most successful branches of software design.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts