2011-04-21 3 views

답변

1

관련 질문 What is "loose coupling"에 몇 가지 예가 있습니다.

코드가 느슨하게 결합되어야하는지 여부는 구현중인 시스템에 따라 다릅니다.

예를 들어, 웹은 느슨하게 결합되어 있습니다. 모든 구성 요소는 동일한 http 인터페이스를 통해 이루어 지므로 하드웨어에서 응용 프로그램에 이르기까지 계층 어디에도 서비스의 구성 요소와 공급자를 구현할 수 있습니다.

반면에 고성능 그래픽 카드 용 드라이버는 설계된 하드웨어와 밀접하게 연결되어 있습니다. 그 밖의 것은 성능이 떨어집니다. OS와 드라이버 사이의 인터페이스는 단단히 결합되어 있지는 않지만 특정 OS 버전의 모든 드라이버에 공통적으로 적용되며 응용 프로그램 코드와 OS 간의 인터페이스는 종종 긴밀하게 결합되지 않습니다. OpenGL.

코드가 이러한 극단 사이에 적합한 경우 커플 링의 정도가 적절하게 결정됩니다.

3

매우 방대한 주제이므로 GRASP patterns부터 살펴보아야합니다.

2 클래스 간의 느슨한 결합은 각 클래스가 다른 클래스의 내부 동작에 대한 지식이 거의 없음을 의미합니다. 같은 "모듈"또는 "패키지"에 속하는 클래스간에 더 높은 수준의 "결합"이있을 수 있습니다. 나쁜 결합은 아닙니다. 결합 클래스가 낮은 경우보다 모델을 더 쉽게 이해할 수 있습니다. 이 커플 링은 더 느슨하게 만드는 의존성을 감소함으로써

1

..

느슨한 결합 조각이 교환 만들기의 중요성을 중시하는 소프트웨어 개발 방법입니다. 두 개의 코드가 느슨하게 결합 된 경우 조각 중 하나에 대한 변경 사항은 다른 부분에 거의 영향을주지 않습니다. 여기


일부 링크이다 ..

http://programmingexamples.wikidot.com/glossary:loose-coupling

http://www.artima.com/weblogs/viewpost.jsp?thread=6544

http://c2.com/cgi/wiki?CouplingAndCohesion

http://earthli.com/news/view_article.php?id=2507

http://www.codeproject.com/KB/cs/DynamicInvoking.aspx

2

루스 커플 링은 모듈로 구성된 아키텍처입니다. 그 모듈은 몇 가지 인터페이스를 통해 서로 접근합니다 (public 메서드는 괜찮지 만 더 엉켜있는 방법이 존재합니다).모듈은 컴파일 할 때 (일반적으로) 서로를 필요로하지 않고 동일한 인터페이스를 가진 다른 모듈로 쉽게 변경됩니다.

관련 문제