2010-02-18 9 views

답변

11

facade pattern은 더 크고 복잡한 코드베이스에 대한 단순화 된 인터페이스입니다. 코드베이스는 단일 클래스 이상일 수 있습니다. 정면은 단지 당신에게 그것에 간단한 인터페이스를 제공합니다.

Abstraction은 개념을 나타 내기 위해 사용되지만 특정 인스턴스에 구속되는 것은 아닙니다. (즉 : 추상 클래스). 이것은 단순화 (외관 패턴처럼)를 의미하는 것이 아니라 '공통'인터페이스 또는 표현을 만드는 것을 의미합니다.

3

Facade은 잘 정의 된 인터페이스 뒤에있는 클라이언트에서 패키지/모듈 내부의 내부 정보를 숨기는 특정 디자인 패턴입니다. 일반적으로 하나의 공통 인터페이스 뒤에 몇 개의 인터페이스/클래스를 숨 깁니다.

'추상화'는 일반적인 용어로, 외부 세계로부터 무언가의 구체적인 세부 사항을 숨기는 것을 의미합니다.

그래서이 두 단어는 서로 바꿔 쓸 수없는 용어입니다.

1

외관은 매우 구체적인 GoF 디자인 패턴입니다. 본질적으로, 그것은 응용 프로그램의 본체에서 지나치게 복잡한 기능을 숨기는 것에 관한 것입니다.

추상화는 클라이언트의 서비스 기능을 숨기는 것과 관련된 애매한 용어입니다.

1

나에게의 추상화는 사물들의 공통 부분을 가져 와서 그것들로부터 기본 사물을 생성하는 것을 의미하며, 그 모음은 부모 집단과 같이 일종의 그릴 수 있습니다.

façade는 문자 그대로 얼굴이기 때문에 기본 클래스와 유사합니다. façade는 인터페이스에 가깝기 때문에 인터페이스를 사용하는 것과 관련 될 필요가 없습니다. 나는 그것을 가면처럼 생각한다. 내 수업에는 "처분 할 수있는"가면이있을 것입니다.

내 생각에 추상 패턴을 사용하면 façade 패턴으로 클래스를 유사하게 볼 수있는 계층 구조를 만들 수 있습니다.

관련 문제