about summary refs log tree commit diff stats
path: root/notes.md
diff options
context:
space:
mode:
authorelioat <elioat@tilde.institute>2022-12-13 20:21:40 -0500
committerelioat <elioat@tilde.institute>2022-12-13 20:21:40 -0500
commiteaf9cbdb1d18e6fcd78c7673d4947fb96f409839 (patch)
tree4f367da0fa6fde9acbd1ee5bc1a8f84edb48dbdf /notes.md
parentd1c246e398b60620446e25e4881030a9c2f7aec4 (diff)
downloaddecember-2022-eaf9cbdb1d18e6fcd78c7673d4947fb96f409839.tar.gz
notes
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