4. 디자인 패턴 (프록시 패턴)
4. 디자인 패턴 (프록시 패턴) 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 프록시 패턴 Proxy : 대변인 클라이언트가 서버에 요청을 하면, 서버 대신, 프록시가 응답을 해준다 즉 클라이언트는 프록시를 통해 서버를 간접적으로 사용하는 것이다 - 프록시 서버 프록시의 기능 클라이언트로부터 요청이 들어오면, 프록시는 실제 서비스 객체를 생성하고, 모든 작업을 생성한 객체들에게 위임한다 보안, 데이터 검증, 캐싱, 로깅 (기록) 보안 클라이언트, 즉 사용자들이 직접적으로 서비스를 사용하는 것이 아닌, 간접적으로 사용하는 것이다 즉, 익명 사용자들이 직접적으로 서비스를 사용하지 못 하게 하여, 실제 서버를 공격하는 것을 차단할 수 있다 CloudFlare은 프록시 서버를 통해 DDOS 공격을 방어..
2023. 2. 17.
3. 디자인 패턴 (전략 패턴, 옵저버 패턴)
3. 디자인 패턴 (전략 패턴, 옵저버 패턴) 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 전략 패턴 (정책 패턴) 캡슐화한 알고리즘을 통해, 서로 교환해서 사용할 수 있는 패턴이다 즉 다양한 메소드들을 캡슐화를 한 후, 필요할 때마다 교환하여 사용하는 것이다 캡슐화는 클래스를 정의할 때, 내부의 속성과 메서드를 묶어서 하나의 단위로 처리하는 것이다. 전략 패턴이 없을 때에는 모든 메서드가 하나의 클래스에 들어간다 메서드가 많이 없을 때에는 괜찮지만, 많아질 경우 에러가 발생할 수 있다 전략 패턴 네비게이션 (컨택스트, context)을 이용할 때에, 다양한 방법으로 경로를 찾을 수 있다 (자동차 경로, 도보 경로 등) 각각의 경로들을 캡슐화를 하여, 각각의 클래스로 만들어 준다 경로 설정 인터..
2023. 2. 16.