https://tungdevpro.github.io/posts/tim-hieu-khai-niem-solid-priciples/