2016-09-05 2 views
3

Extension Object Pattern에 대해 설명하고 어댑터 패턴과 어떻게 다른지 설명해 주시겠습니까?확장 개체 패턴과 어댑터 패턴의 차이점은 무엇입니까?

는 확장 개체 패턴을 설명하고 그들의 대부분은 비트 (적어도 나를 위해) 혼동 웹에서만 몇 가지 자원이있는 것 같습니다.

미리 감사드립니다.

+2

의 차이는 확장 가능한 객체가 사용자에게 알려져 있으며 일부 기능에 대한 확장 개체가 명시 적으로 여부를 조회하는 동안 어댑터, 랩 된 객체를 숨 깁니다 것 같다. – Bergi

답변

2

가장 큰 차이점은 사용 시간에 :

당신이 경우에 당신은 당신이 어댑터를 소개 기존의 인터페이스를 변경할 수 없습니다, 소프트웨어의 개발 과정에서 어댑터를 사용합니다.

확장 개체 패턴은 이러한 변경을 제공하며 예를 들어. 이미 배치 된 소프트웨어를 확장하십시오.

또한, 텍스트에서 당신이 게시 :

어댑터는 기존의 인터페이스를 적응 지원합니다. 확장 개체 패턴은 추가 인터페이스를 지원합니다. 확장 객체 및 어댑터는 객체가 확장 인터페이스에 적용되어야하는 상황 인 에서 함께 작동 할 수 있습니다.

1

이 다이어그램에서 확장 오브젝트 패턴을 설명하는 것이 더 좋습니다.

enter image description here

당신은 클라이언트가

  • 가 확장
  • 가져 오기 (사용) 기존의 확장 기능을 추가 할 수 있음을 알 수있다. 어댑터를 비교하면

, 클라이언트는 오히려 기존 어댑터에 충실.

당신은 adapters 같은 다른 그림에 나와있는 다른 extensions을 볼 수 있습니다.

+0

그래서 어댑터 패턴 - 클라이언트는 기존 어댑터를 사용합니다. 그러나 확장 객체 패턴 - 클라이언트는 사용 가능한 확장에서 어댑터를 쿼리합니다. 나는 당신의 요지를 정확하게 이해하기를 바랍니다. – CommonMan

+1

@ CommonMan 예. 또한 확장 기능을 추가/제거 할 수 있습니다. :)) –

+1

@SupunWijerathne 당신은 또한 당신이 추가/근본적인 어댑터를 제거 할 수있는 그런 식으로 어댑터를 구현할 수 있습니다 (내 소프트웨어 엔지니어링 과정에서 최근 요구 사항 중 하나였습니다). –

관련 문제