C++디자인 모드 의 브리지 모드(Bridge)

브리지 모델 은 선천적 인 모델 에 속한다.이곳 의 선천적 인 모델 은 처음부터 구 조 를 잘 구축 하고 나중에 확장 하 는 데 편리 해 야 한 다 는 것 이지 이미 나타 난 모듈 과 인 터 페 이 스 를 개선 하고 확장 하 는 것 이 아니다.브리지 의 핵심 은 실체 류 와 조작 류 간 의 집적 관계 에 있다.이 집적 관 계 는 바로 우리 가 말 하 는'다리'이다.장식,대리 와 어댑터 모델 의 중의 집적 관계 와 달리 브리지 는 이들 간 의 계승 관계 가 존재 하지 않 고 조작 류 는 완전히 결합 되 는 것 이 며 실체 류 는 조작 류 에 대해 서도 약 한 결합 일 뿐이다.
역할.
추상 적 인 부분 과 그것 의 실현 부분 을 분리 하여 그것들 이 모두 독립 적 으로 변화 할 수 있 도록 하 다.
클래스 보기

이루어지다

//   
class action
{
public:
  virtual void do()=0;
};

class write : public action
{
public:
   void do(){ count << "to write
";} }; class draw : public action { public: void do() { count << "to draw
";} }; class gift : public action { public: void do {count << "to gift
";} }; // class pen { public: pen(): m_pAction(NULL){} virtual ~pen(){ delete m_pAction;} virtual void use(); void setaction(action* pAction){m_pAction = pAction;} protected: action* m_pAction; }; class pencil : public pen { void use() { cout << "use pencil "; m_pAction.do(); } }; class brush : public pen { void use() { cout << "use brush "; m_pAction.do(); } }; class goldenpen : public pen { void use() { cout << "use goldenpen "; m_pAction.do(); } }; int main { ballpen inHand; inHand.setaction(new gift()); inHand.use(); }

위의 예 는 실체 류 pen 과 조작 류 action 간 의 브리지 관 계 를 간단하게 설명 했다.만약 에 확장 이 필요 한 상황 에서 우 리 는 각각 pen 과 action 을 계승 하고 확장 할 수 있 으 며 다른 측의 변경 과 관련 되 지 않 는 다.예 를 들 어 우 리 는 펜 이나 펜 의 용법 을 하나 더 확장 하고 펜 의 종류 나 용법 의 종 류 를 직접 확장 하면 된다.그러면 저 결합 이 쉽게 확장 되 는 목적 을 달성 할 수 있다.
응용 장면
4.567917.대상 에 여러 가지 변화 요소 가 존재 할 때 그 변화 요소 와 장면 을 추상 적 으로 고려 한 다음 에 다리 연결 을 한다.펜 이 다른 기능 을 가지 고 있다 면..4.567917.여러 대상 에 여러 가지 변화 요소 가 존재 할 때 이 부분의 변화 부분 을 추상 화하 여 다시 집합 하 는 것 을 고려한다.예 를 들 어 서로 다른 브랜드 의 컴퓨터 에 서로 다른 시스템 을 설치 하고 서로 다른 소프트웨어 를 사용 하 는 등 첫 번 째 조 를 가로로 확장 하여 브리지 의 수량 을 증가 하 는 것 과 같다이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기