디자인패턴이나 주로 사용되는 인터페이스 아키텍처 구조 코드 구조 코드 분석해서 어떤 코드가 어떤 이유로 효과적이고 합리적인지 이런거 알려줘야하는거 아님?