자주 쓰는것들은 (어댑터 퍼사드 등등) 구현할 수 있는데 안쓰는 것들도 알아둬야할까 싶어서