Skip to content
Avatar
:octocat:
Full-time TypeScript worshiper, Node.JS enthusiast and VsCode junkie.
:octocat:
Full-time TypeScript worshiper, Node.JS enthusiast and VsCode junkie.
  • Luxcium
  • Québec, Qc, Canada
  • Twitter @Luxcium
Block or Report

Block or report Luxcium

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Add an optional note:
Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Luxcium/README.md
Top Langs

SOLID principles

Although they apply to any object-oriented design, the SOLID principles can also form a core philosophy for methodologies such as agile development or adaptive software development.

Concepts

History

The theory of SOLID principles was introduced by Robert C. Martin (Uncle Bob) in his 2000 paper Design Principles and Design Patterns. The SOLID acronym was introduced later by Michael Feathers.

From Wikipedia, the free encyclopedia (source) ― Used under license ― Additional terms may apply.

Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword by Grady Booch.

It has been influential to the field of software engineering and is regarded as an important source for object-oriented design theory and practice. The authors are often referred to as the Gang of Four «GoF».

Creational

Creational patterns are ones that create objects, rather than having to instantiate objects directly. This gives the program more flexibility in deciding which objects need to be created for a given case.

    1. Abstract factory O groups object factories that have a common theme.
    1. Builder O constructs complex objects by separating construction and representation.
    1. Factory method C creates objects without specifying the exact class to create.
    1. Prototype O creates objects by cloning an existing object.
    1. Singleton O restricts object creation for a class to only one instance.

Structural

These concern class and object composition. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.

    1. Adapter C,O allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.
    1. Bridge O decouples an abstraction from its implementation so that the two can vary independently.
    1. Composite O composes zero-or-more similar objects so that they can be manipulated as one object.
    1. Decorator O dynamically adds/overrides behaviour in an existing method of an object.
    1. Facade O provides a simplified interface to a large body of code.
    1. Flyweight O reduces the cost of creating and manipulating a large number of similar objects.
    1. Proxy O provides a placeholder for another object to control access, reduce cost, and reduce complexity.

Behavioral

Most of these design patterns are specifically concerned with communication between objects.

    1. Chain of responsibility O delegates commands to a chain of processing objects.
    1. Command O creates objects which encapsulate actions and parameters.
    1. Interpreter C implements a specialized language.
    1. Iterator O accesses the elements of an object sequentially without exposing its underlying representation.
    1. Mediator O allows loose coupling between classes by being the only class that has detailed knowledge of their methods.
    1. Memento O provides the ability to restore an object to its previous state (undo).
    1. Observer O is a publish/subscribe pattern which allows a number of observer objects to see an event.
    1. State O allows an object to alter its behavior when its internal state changes.
    1. Strategy O allows one of a family of algorithms to be selected on-the-fly at runtime.
    1. Template method C defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.
    1. Visitor O separates an algorithm from an object structure by moving the hierarchy of methods into one object.
From Wikipedia, the free encyclopedia (source) ― Used under license ― Additional terms may apply.

ARCHIVED

#100DaysOfCode

time tracker Twitter Follow

  • Learn every day for 100 day.
  • Code at least one hour per day.
  • Teach someting online.
  • Blog about code every day.
  • Youtube something usefull for other to learn while doing their #100dayof code challenge.
  • Reach to other doing the chalenge.
  • Report my daily experience in a log on my github repository.
  • Support other doing the chalenge

Scientia es lux principium

Pinned

  1. 100DaysOfCode Public archive

    JavaScript 3 1

  2. Forked from hedinne/popping-and-locking-vscode

    Perfectly balanced VS Code theme with vivid colours for TypeScript and more...

    TypeScript 84 6

  3. Forked from simonprickett/redis-json-directory-spider

    Spiders a folder structure containing JSON files and stores the contents in Redis using RedisJSON

    JavaScript 1

  4. The Website and web infrastructure for learning TypeScript

    TypeScript 1.8k 1.2k

2,157 contributions in the last year

2 contributions on Sunday, March 20, 2022 3 contributions on Monday, March 21, 2022 No contributions on Tuesday, March 22, 2022 No contributions on Wednesday, March 23, 2022 No contributions on Thursday, March 24, 2022 No contributions on Friday, March 25, 2022 No contributions on Saturday, March 26, 2022 No contributions on Sunday, March 27, 2022 6 contributions on Monday, March 28, 2022 22 contributions on Tuesday, March 29, 2022 No contributions on Wednesday, March 30, 2022 No contributions on Thursday, March 31, 2022 No contributions on Friday, April 1, 2022 No contributions on Saturday, April 2, 2022 11 contributions on Sunday, April 3, 2022 No contributions on Monday, April 4, 2022 No contributions on Tuesday, April 5, 2022 No contributions on Wednesday, April 6, 2022 No contributions on Thursday, April 7, 2022 No contributions on Friday, April 8, 2022 No contributions on Saturday, April 9, 2022 No contributions on Sunday, April 10, 2022 No contributions on Monday, April 11, 2022 1 contribution on Tuesday, April 12, 2022 No contributions on Wednesday, April 13, 2022 No contributions on Thursday, April 14, 2022 No contributions on Friday, April 15, 2022 11 contributions on Saturday, April 16, 2022 No contributions on Sunday, April 17, 2022 No contributions on Monday, April 18, 2022 No contributions on Tuesday, April 19, 2022 11 contributions on Wednesday, April 20, 2022 3 contributions on Thursday, April 21, 2022 No contributions on Friday, April 22, 2022 No contributions on Saturday, April 23, 2022 No contributions on Sunday, April 24, 2022 No contributions on Monday, April 25, 2022 No contributions on Tuesday, April 26, 2022 2 contributions on Wednesday, April 27, 2022 No contributions on Thursday, April 28, 2022 No contributions on Friday, April 29, 2022 No contributions on Saturday, April 30, 2022 1 contribution on Sunday, May 1, 2022 No contributions on Monday, May 2, 2022 1 contribution on Tuesday, May 3, 2022 No contributions on Wednesday, May 4, 2022 No contributions on Thursday, May 5, 2022 No contributions on Friday, May 6, 2022 No contributions on Saturday, May 7, 2022 No contributions on Sunday, May 8, 2022 No contributions on Monday, May 9, 2022 No contributions on Tuesday, May 10, 2022 No contributions on Wednesday, May 11, 2022 No contributions on Thursday, May 12, 2022 No contributions on Friday, May 13, 2022 No contributions on Saturday, May 14, 2022 No contributions on Sunday, May 15, 2022 No contributions on Monday, May 16, 2022 1 contribution on Tuesday, May 17, 2022 10 contributions on Wednesday, May 18, 2022 No contributions on Thursday, May 19, 2022 No contributions on Friday, May 20, 2022 No contributions on Saturday, May 21, 2022 No contributions on Sunday, May 22, 2022 No contributions on Monday, May 23, 2022 No contributions on Tuesday, May 24, 2022 No contributions on Wednesday, May 25, 2022 No contributions on Thursday, May 26, 2022 No contributions on Friday, May 27, 2022 7 contributions on Saturday, May 28, 2022 No contributions on Sunday, May 29, 2022 No contributions on Monday, May 30, 2022 No contributions on Tuesday, May 31, 2022 5 contributions on Wednesday, June 1, 2022 No contributions on Thursday, June 2, 2022 No contributions on Friday, June 3, 2022 No contributions on Saturday, June 4, 2022 No contributions on Sunday, June 5, 2022 No contributions on Monday, June 6, 2022 No contributions on Tuesday, June 7, 2022 No contributions on Wednesday, June 8, 2022 No contributions on Thursday, June 9, 2022 No contributions on Friday, June 10, 2022 1 contribution on Saturday, June 11, 2022 No contributions on Sunday, June 12, 2022 No contributions on Monday, June 13, 2022 No contributions on Tuesday, June 14, 2022 No contributions on Wednesday, June 15, 2022 No contributions on Thursday, June 16, 2022 9 contributions on Friday, June 17, 2022 19 contributions on Saturday, June 18, 2022 No contributions on Sunday, June 19, 2022 2 contributions on Monday, June 20, 2022 No contributions on Tuesday, June 21, 2022 2 contributions on Wednesday, June 22, 2022 No contributions on Thursday, June 23, 2022 No contributions on Friday, June 24, 2022 No contributions on Saturday, June 25, 2022 18 contributions on Sunday, June 26, 2022 No contributions on Monday, June 27, 2022 No contributions on Tuesday, June 28, 2022 No contributions on Wednesday, June 29, 2022 13 contributions on Thursday, June 30, 2022 No contributions on Friday, July 1, 2022 4 contributions on Saturday, July 2, 2022 3 contributions on Sunday, July 3, 2022 No contributions on Monday, July 4, 2022 No contributions on Tuesday, July 5, 2022 5 contributions on Wednesday, July 6, 2022 No contributions on Thursday, July 7, 2022 No contributions on Friday, July 8, 2022 No contributions on Saturday, July 9, 2022 No contributions on Sunday, July 10, 2022 No contributions on Monday, July 11, 2022 14 contributions on Tuesday, July 12, 2022 No contributions on Wednesday, July 13, 2022 No contributions on Thursday, July 14, 2022 No contributions on Friday, July 15, 2022 8 contributions on Saturday, July 16, 2022 No contributions on Sunday, July 17, 2022 1 contribution on Monday, July 18, 2022 13 contributions on Tuesday, July 19, 2022 6 contributions on Wednesday, July 20, 2022 No contributions on Thursday, July 21, 2022 1 contribution on Friday, July 22, 2022 No contributions on Saturday, July 23, 2022 No contributions on Sunday, July 24, 2022 9 contributions on Monday, July 25, 2022 No contributions on Tuesday, July 26, 2022 No contributions on Wednesday, July 27, 2022 7 contributions on Thursday, July 28, 2022 No contributions on Friday, July 29, 2022 7 contributions on Saturday, July 30, 2022 No contributions on Sunday, July 31, 2022 18 contributions on Monday, August 1, 2022 5 contributions on Tuesday, August 2, 2022 7 contributions on Wednesday, August 3, 2022 3 contributions on Thursday, August 4, 2022 9 contributions on Friday, August 5, 2022 No contributions on Saturday, August 6, 2022 14 contributions on Sunday, August 7, 2022 1 contribution on Monday, August 8, 2022 No contributions on Tuesday, August 9, 2022 No contributions on Wednesday, August 10, 2022 No contributions on Thursday, August 11, 2022 2 contributions on Friday, August 12, 2022 1 contribution on Saturday, August 13, 2022 3 contributions on Sunday, August 14, 2022 4 contributions on Monday, August 15, 2022 1 contribution on Tuesday, August 16, 2022 13 contributions on Wednesday, August 17, 2022 No contributions on Thursday, August 18, 2022 No contributions on Friday, August 19, 2022 4 contributions on Saturday, August 20, 2022 3 contributions on Sunday, August 21, 2022 1 contribution on Monday, August 22, 2022 No contributions on Tuesday, August 23, 2022 No contributions on Wednesday, August 24, 2022 No contributions on Thursday, August 25, 2022 No contributions on Friday, August 26, 2022 5 contributions on Saturday, August 27, 2022 6 contributions on Sunday, August 28, 2022 1 contribution on Monday, August 29, 2022 No contributions on Tuesday, August 30, 2022 No contributions on Wednesday, August 31, 2022 No contributions on Thursday, September 1, 2022 No contributions on Friday, September 2, 2022 No contributions on Saturday, September 3, 2022 9 contributions on Sunday, September 4, 2022 No contributions on Monday, September 5, 2022 No contributions on Tuesday, September 6, 2022 1 contribution on Wednesday, September 7, 2022 4 contributions on Thursday, September 8, 2022 No contributions on Friday, September 9, 2022 No contributions on Saturday, September 10, 2022 No contributions on Sunday, September 11, 2022 No contributions on Monday, September 12, 2022 21 contributions on Tuesday, September 13, 2022 1 contribution on Wednesday, September 14, 2022 No contributions on Thursday, September 15, 2022 3 contributions on Friday, September 16, 2022 12 contributions on Saturday, September 17, 2022 No contributions on Sunday, September 18, 2022 6 contributions on Monday, September 19, 2022 No contributions on Tuesday, September 20, 2022 2 contributions on Wednesday, September 21, 2022 No contributions on Thursday, September 22, 2022 No contributions on Friday, September 23, 2022 3 contributions on Saturday, September 24, 2022 2 contributions on Sunday, September 25, 2022 25 contributions on Monday, September 26, 2022 3 contributions on Tuesday, September 27, 2022 7 contributions on Wednesday, September 28, 2022 No contributions on Thursday, September 29, 2022 32 contributions on Friday, September 30, 2022 12 contributions on Saturday, October 1, 2022 15 contributions on Sunday, October 2, 2022 9 contributions on Monday, October 3, 2022 3 contributions on Tuesday, October 4, 2022 No contributions on Wednesday, October 5, 2022 5 contributions on Thursday, October 6, 2022 3 contributions on Friday, October 7, 2022 30 contributions on Saturday, October 8, 2022 No contributions on Sunday, October 9, 2022 4 contributions on Monday, October 10, 2022 No contributions on Tuesday, October 11, 2022 27 contributions on Wednesday, October 12, 2022 6 contributions on Thursday, October 13, 2022 40 contributions on Friday, October 14, 2022 30 contributions on Saturday, October 15, 2022 39 contributions on Sunday, October 16, 2022 37 contributions on Monday, October 17, 2022 32 contributions on Tuesday, October 18, 2022 15 contributions on Wednesday, October 19, 2022 No contributions on Thursday, October 20, 2022 12 contributions on Friday, October 21, 2022 52 contributions on Saturday, October 22, 2022 30 contributions on Sunday, October 23, 2022 31 contributions on Monday, October 24, 2022 24 contributions on Tuesday, October 25, 2022 24 contributions on Wednesday, October 26, 2022 25 contributions on Thursday, October 27, 2022 18 contributions on Friday, October 28, 2022 2 contributions on Saturday, October 29, 2022 14 contributions on Sunday, October 30, 2022 47 contributions on Monday, October 31, 2022 41 contributions on Tuesday, November 1, 2022 78 contributions on Wednesday, November 2, 2022 No contributions on Thursday, November 3, 2022 32 contributions on Friday, November 4, 2022 4 contributions on Saturday, November 5, 2022 21 contributions on Sunday, November 6, 2022 25 contributions on Monday, November 7, 2022 20 contributions on Tuesday, November 8, 2022 12 contributions on Wednesday, November 9, 2022 10 contributions on Thursday, November 10, 2022 4 contributions on Friday, November 11, 2022 No contributions on Saturday, November 12, 2022 No contributions on Sunday, November 13, 2022 No contributions on Monday, November 14, 2022 2 contributions on Tuesday, November 15, 2022 4 contributions on Wednesday, November 16, 2022 16 contributions on Thursday, November 17, 2022 4 contributions on Friday, November 18, 2022 1 contribution on Saturday, November 19, 2022 11 contributions on Sunday, November 20, 2022 39 contributions on Monday, November 21, 2022 13 contributions on Tuesday, November 22, 2022 24 contributions on Wednesday, November 23, 2022 No contributions on Thursday, November 24, 2022 23 contributions on Friday, November 25, 2022 8 contributions on Saturday, November 26, 2022 9 contributions on Sunday, November 27, 2022 34 contributions on Monday, November 28, 2022 9 contributions on Tuesday, November 29, 2022 15 contributions on Wednesday, November 30, 2022 39 contributions on Thursday, December 1, 2022 4 contributions on Friday, December 2, 2022 3 contributions on Saturday, December 3, 2022 15 contributions on Sunday, December 4, 2022 3 contributions on Monday, December 5, 2022 6 contributions on Tuesday, December 6, 2022 3 contributions on Wednesday, December 7, 2022 21 contributions on Thursday, December 8, 2022 30 contributions on Friday, December 9, 2022 18 contributions on Saturday, December 10, 2022 27 contributions on Sunday, December 11, 2022 No contributions on Monday, December 12, 2022 No contributions on Tuesday, December 13, 2022 No contributions on Wednesday, December 14, 2022 6 contributions on Thursday, December 15, 2022 9 contributions on Friday, December 16, 2022 No contributions on Saturday, December 17, 2022 No contributions on Sunday, December 18, 2022 No contributions on Monday, December 19, 2022 3 contributions on Tuesday, December 20, 2022 No contributions on Wednesday, December 21, 2022 16 contributions on Thursday, December 22, 2022 24 contributions on Friday, December 23, 2022 15 contributions on Saturday, December 24, 2022 9 contributions on Sunday, December 25, 2022 6 contributions on Monday, December 26, 2022 7 contributions on Tuesday, December 27, 2022 6 contributions on Wednesday, December 28, 2022 3 contributions on Thursday, December 29, 2022 42 contributions on Friday, December 30, 2022 11 contributions on Saturday, December 31, 2022 25 contributions on Sunday, January 1, 2023 No contributions on Monday, January 2, 2023 No contributions on Tuesday, January 3, 2023 No contributions on Wednesday, January 4, 2023 No contributions on Thursday, January 5, 2023 No contributions on Friday, January 6, 2023 6 contributions on Saturday, January 7, 2023 42 contributions on Sunday, January 8, 2023 9 contributions on Monday, January 9, 2023 27 contributions on Tuesday, January 10, 2023 9 contributions on Wednesday, January 11, 2023 3 contributions on Thursday, January 12, 2023 No contributions on Friday, January 13, 2023 24 contributions on Saturday, January 14, 2023 No contributions on Sunday, January 15, 2023 No contributions on Monday, January 16, 2023 No contributions on Tuesday, January 17, 2023 No contributions on Wednesday, January 18, 2023 No contributions on Thursday, January 19, 2023 12 contributions on Friday, January 20, 2023 No contributions on Saturday, January 21, 2023 9 contributions on Sunday, January 22, 2023 No contributions on Monday, January 23, 2023 No contributions on Tuesday, January 24, 2023 15 contributions on Wednesday, January 25, 2023 No contributions on Thursday, January 26, 2023 No contributions on Friday, January 27, 2023 No contributions on Saturday, January 28, 2023 No contributions on Sunday, January 29, 2023 No contributions on Monday, January 30, 2023 No contributions on Tuesday, January 31, 2023 No contributions on Wednesday, February 1, 2023 No contributions on Thursday, February 2, 2023 4 contributions on Friday, February 3, 2023 17 contributions on Saturday, February 4, 2023 3 contributions on Sunday, February 5, 2023 6 contributions on Monday, February 6, 2023 No contributions on Tuesday, February 7, 2023 No contributions on Wednesday, February 8, 2023 No contributions on Thursday, February 9, 2023 No contributions on Friday, February 10, 2023 No contributions on Saturday, February 11, 2023 No contributions on Sunday, February 12, 2023 3 contributions on Monday, February 13, 2023 2 contributions on Tuesday, February 14, 2023 No contributions on Wednesday, February 15, 2023 1 contribution on Thursday, February 16, 2023 No contributions on Friday, February 17, 2023 8 contributions on Saturday, February 18, 2023 No contributions on Sunday, February 19, 2023 No contributions on Monday, February 20, 2023 1 contribution on Tuesday, February 21, 2023 3 contributions on Wednesday, February 22, 2023 7 contributions on Thursday, February 23, 2023 1 contribution on Friday, February 24, 2023 7 contributions on Saturday, February 25, 2023 No contributions on Sunday, February 26, 2023 4 contributions on Monday, February 27, 2023 1 contribution on Tuesday, February 28, 2023 1 contribution on Wednesday, March 1, 2023 No contributions on Thursday, March 2, 2023 2 contributions on Friday, March 3, 2023 1 contribution on Saturday, March 4, 2023 No contributions on Sunday, March 5, 2023 2 contributions on Monday, March 6, 2023 4 contributions on Tuesday, March 7, 2023 3 contributions on Wednesday, March 8, 2023 8 contributions on Thursday, March 9, 2023 No contributions on Friday, March 10, 2023 3 contributions on Saturday, March 11, 2023 No contributions on Sunday, March 12, 2023 1 contribution on Monday, March 13, 2023 4 contributions on Tuesday, March 14, 2023 1 contribution on Wednesday, March 15, 2023 9 contributions on Thursday, March 16, 2023 No contributions on Friday, March 17, 2023 10 contributions on Saturday, March 18, 2023 5 contributions on Sunday, March 19, 2023 5 contributions on Monday, March 20, 2023 No contributions on Tuesday, March 21, 2023 5 contributions on Wednesday, March 22, 2023 No contributions on Thursday, March 23, 2023 2 contributions on Friday, March 24, 2023 Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Mon Wed Fri
Activity overview

Contribution activity

March 2023

Opened 1 pull request in 1 repository
5 contributions in private repositories Mar 3 – Mar 15

Seeing something unexpected? Take a look at the GitHub profile guide.