From eaf9cbdb1d18e6fcd78c7673d4947fb96f409839 Mon Sep 17 00:00:00 2001 From: elioat Date: Tue, 13 Dec 2022 20:21:40 -0500 Subject: notes --- notes.md | 24 ++++++++++++++++++++++++ notes.txt | 20 -------------------- 2 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 notes.md delete mode 100644 notes.txt diff --git a/notes.md b/notes.md new file mode 100644 index 0000000..ed96992 --- /dev/null +++ b/notes.md @@ -0,0 +1,24 @@ +# misc. axioms of big O + +- Arithmetic operations are constant +- Variable assignment is constant +- Accessing element in an array (by index) or object (by key) is constant +- In a loop, the complexity is the length of the loop times the complexity of whatever happens inside of the loop + +# SOLID + +- Single responsibility principle + - a class should only have 1 reason to change + - *separation of concerns* -- different classes handling different, independent tasks/problems +- Open-closed principle + - classes should be open for extension but closed for modification +- Liskove substitution principle + - you should be able to substitute a base type of a subtype +- Interface segregation principle + - don't put too much into an interface; split into seperate interfaces +- Dependency inversion principle + - high-level modules should no depend on low-level ones; use abstraction + +# Builder + +A component that provides an API for constructing an object step-by-step, this saves you from having a gigantic constructor. \ No newline at end of file diff --git a/notes.txt b/notes.txt deleted file mode 100644 index 432e430..0000000 --- a/notes.txt +++ /dev/null @@ -1,20 +0,0 @@ -# misc. axioms of big O - -- Arithmetic operations are constant -- Variable assignment is constant -- Accessing element in an array (by index) or object (by key) is constant -- In a loop, the complexity is the length of the loop times the complexity of whatever happens inside of the loop - -# SOLID - -- Single responsibility principle - - a class should only have 1 reason to change - - *separation of concerns* -- different classes handling different, independent tasks/problems -- Open-closed principle - - classes should be open for extension but closed for modification -- Liskove substitution principle - - you should be able to substitute a base type of a subtype -- Interface segregation principle - - don't put too much into an interface; split into seperate interfaces -- Dependency inversion principle - - high-level modules should no depend on low-level ones; use abstraction \ No newline at end of file -- cgit 1.4.1-2-gfad0