전체 글 (84) 썸네일형 리스트형 오브젝트 8장 - 의존성 관리하기 객체지향 설계의 핵심은 협력을 위해 필요한 의존성은 유지하면서도 변경을 방해하는 의존성은 제거하는 데 있다. 의존성 이해하기 변경과 의존성 의존성은 실행 시점과 구현 시점에 서로 다른 의미를 가진다. 구현 시점 → 인터페이스에 의존해야함 실행 시점 → 각각의 구현체에 의존해야함 (서로 다른게 유연하게 작성된 애플리케이션) 두 요소 사이의 의존성은 의존되는 요소가 변경될 때 의존하는 요소도 함께 변경될 수 있다는 것을 의미한다. 의존성 전이 의존성 - 의존하고 있는 대상의 변경에 영향을 받을 수 있는 가능성 직접 의존 - 직접 의존하는 것 간접 의존 - 한 단계 거치는 것, 해당 코드를 수정했을 때, 그것을 사용하는 코드들이 영향 받을 가능성이 있음 런타임 의존성과 컴파일타임 의존성 컴파일에는 인터페이스에.. 오브젝트 7장 - 객체 분해 문제 해결에 필요한 요소의 수가 단기 기억의 용량을 초과하는 순간 문제 해결 능력은 급격하게 떨어지고 만다. → 인지 과부하 큰 문제를 작은 문제로 나누는 것 ⇒ 분해 추상화를 더 큰 규모의 추상화로 압축시킴으로써 단기 기억의 한계를 초월할 수 있다. 프로시저의 추상화와 데이터 추상화 시스템을 분해하는 방법으로 둘 중 하나를 선택해야함 프로시저 추상화 → 기능 분해의 길, 알고리즘 분해 데이터 추상화 → 타입 추상화(추상 데이터 타입), 데이터를 중심으로 프로시저를 추상화(객체지향) 객체지향이 전통적인 기능 분해 방법에 비해 효과적이라고 하는 이유는 무엇일까? (전통적인 기능 분해 방법) → 객체지향 분해 방법에 이르는 좌절과 극복의 역사 프로시저 추상화와 기능분해 전통적인 기능 분해 방법은 하향식 접근.. reverse proxy 서비스 운영에 있어서 필수적인 proxy server 프록시 종류가 여러가지가 있을 것 입니다. 스프링의 프록시나, 디자인 패턴중에 프록시 패턴도 있을 것이고, reverse proxy는 네트워크 프록시 입니다. 서버측에 가까이 있는 프록시를 리버스 프록시라고 합니다. 클라이언트로 부터 서버의 정보를 숨겨주고, 요청을 어느 서버로 보내줄지에 대하여 로드밸런싱 작업을 해줍니다. 마지막으로, 전형적인 프록시 서버와 같이 캐싱을 해줍니다. reverser proxy에 반대되는 개념인 forward proxy는 보통, 글로벌 서비스에서 다른 국가들에게 빠른 서비스를 제공하기 위해 사용됩니다. 캐싱을 제공하며, 서버로 부터 클라이언트의 정보를 가려줍니다. 이전 1 ··· 5 6 7 8 9 10 11 ··· 28 다음