2017-12-14 29 views
1

나는 대학에서 도장 연결 프로그램을 공부합니다. 우리는 시스템 분석과 설계를 배우고 있습니다. 내 동급생이 나에게 문제를 물어 보았다. 어떻게 우표 커플 링을 풀 수 있을까? 나는 "클라이언트로부터의 액세스를 제한하기 위해 인터페이스를 사용하라"는 Teacher에게 물어 본다. 그러나 나는 여전히 오해하고있다. 인쇄 방법은 이름, 주소, 고객의 결제 정보를 필요로하기 때문에 enter image description here enter image description here도장 연결 개선

+1

이것은 너무 광범위하여 대답 할 수 없습니다. 당신은 우표 결합을 해결해야만하는 특정 경우 (관련 코드가있는 것이 바람직 함)를 말해야합니다. – Eran

+0

[솔리드 원리 및 디자인 패턴을 이해할 수 없음] (https://stackoverflow.com/questions/13692126/cant-seem-to-understand-solid-principles-and-design-patterns) – rkosegi

+0

@ Eran 죄송합니다. 나는 질문을 놓칩니다. 나는 이미 질문 제목을 편집하고 추가합니다. – LiHao

답변

1

글쎄, 당신은 그것에 무엇을 전달할 필요가 없습니다.

당신은 인터페이스를 정의 할 수 있습니다 : 이제

public interface PrintableCustomer 
{ 
    public ... getName(); 
    public ... getAddress(); 
    public ... getBillingInfo(); 
} 

을의 Customer 클래스는 PrintableCustomer을 구현할 수 있습니다.

이제 인쇄 방법에 Customer 대신 PrintableCustomer을 사용할 수 있습니다.

void print (PrintableCustomer customer) 
{ 
    ... 
} 

이제 print()은 필요한 속성 만 볼 수 있습니다.

+0

와우, 나는 내가 이해할 수 있다고 생각한다!! 당신의 도움을 주셔서 대단히 감사합니다!!!! – LiHao