about summary refs log tree commit diff stats
path: root/notes.md
diff options
context:
space:
mode:
Diffstat (limited to 'notes.md')
-rw-r--r--notes.md24
1 files changed, 24 insertions, 0 deletions
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