2013-06-04 2 views

답변

5

을 살펴 대해 이야기하고, 분명히하기 위해 나는 당신이 내가 느끼는 참조 책의 기술 편집자 이후 같은 난에 해야지 여기에 노력을하십시오.

먼저 문제를 요약 해 보겠습니다.

우리는 서비스를 제공하는 몇 가지 코드를이 -이 OriginalService를 호출하고 우리는 서비스를 소비하는 몇 가지 코드가 -이 코드를 클라이언트를 호출합니다. 고객OriginalServiceNewService과 동일한 기능을 가진 두 가지 방식으로이 서비스를 다시 구현하고자합니다.

교수 주교는 두 가지 시나리오를 구분합니다. "브리지 업"시나리오에는 기존 OriginalService클라이언트이 있습니다. 두 번째 서비스를 추가하려면 서비스의 추상화를해야합니다. "브릿지 다운"시나리오에서는 클라이언트가이 서비스의 여러 버전과 대화하고 처음부터 추상화 계층에서 설계해야 할 원래 서비스를 설계 할 때를 알 수 있습니다.

예를 들어 비디오 드라이버의 문제를 고려하십시오. 정확히 하나의 비디오 카드 (원래 서비스)와 통신하는 방법을 알고있는 운영 체제 (클라이언트)를 사용하는 경우 해당 운영 체제는별로 인기가 없을 것입니다. 대신 운영 체제는 드라이버과 대화합니다. 각 비디오 카드 제조업체는 지원되는 운영 체제 용 드라이버를 만들고 이제 운영 체제는 여러 드라이버와 통신 할 수 있습니다. 드라이버는 OS와 비디오 카드 사이에 "다리를 만듭니다".

한 종류의 비디오 카드와 대화하고 그 위에 드라이버 시스템을 개조하는 방법 만 알고있는 운영 체제로 시작하는 경우, "다리를 펴는"시나리오에 있습니다.

하드웨어에서 추상화가 필요하고 드라이버를 기반으로 아키텍처를 즉시 구축하기 시작할 때부터 "다리 아래로"시나리오를 진행하고 있습니다.

+1

설명해 주셔서 감사합니다. Eric. 나는 "다리 위로"와 "다리 아래로"가 다리 패턴의 변형이라고 생각했습니다. 이제 저는 그것이 교량 건설의 시나리오라는 것을 이해합니다. 그것은 단지 우리가 처음에 가지고있는 것에 달려 있습니다 : 추상화 또는 구현. –

관련 문제