본문 바로가기
반응형

아키텍처2

OCP, 추이 종속성(transitive dependency) 추이 종속성이란 클래스 A가 클래스 B를 의존하고, 다시 클래스 B가 클래스 C에 의존한다면, 클래스 A는 클래스 C에 의존하게 된다. 이를 추이 종속성이라고 부르며 크래스 이외의 소프트웨어의 모든 엔티티(패키지, 컴포넌트 등)에도 동일하게 적용된다. 추이 종속성을 가지게 되면, 소프트웨어 엔티티는 '자신이 직접 사용하지 않는 요소에는 절대로 의존해서는 안된다' 는 소프트웨어 원칙을 위반하게 된다. 만약 클래스 의존성이 순환적(cyclic)이라면, 모든 클래스가 서로 의존하게 되는 문제가 있다. OCP는 시스템의 아키텍처를 떠받치는 원동력 중 하나다. OCP의 목표는 시스템을 확장하기 쉬운 동시에 변경으로 인해 시스템이 너무 많은 영향을 받지 않도록 하는 데 있다. 이러한 목표를 달성하려면 시스템을 컴포.. 2020. 11. 3.
퍼사드 패턴(Facade Pattern) 어쩌다 보니 내 수준보다 더 높고 높은 책을 읽고 있다. '클린 아키텍처' 라는 책인데 매번 '아키텍처'라는 단어는 사용하면서도 정작 제대로 알고 사용은 하는건지 의문이 들 때가 있다. 따라서 이번에는 확실히 개념을 잡고 넘어가리라는 마음을 먹고 읽지만 이내 졸립고 따분하고 어렵고 그렇다. 3부 설계 원칙의 '단일 책임 원칙' 부분을 읽으면서 제시된 해결책으로 '퍼사드 패턴'을 이해하고 넘어가자는 의도에서 책과 구글링을 통해 개념을 익혀보기로 했다. 실제 업무중에 적용한 사례가 있나 곰곰히 떠올려보지만 기억이 잘 나지 않는다. 또 어디에 어떻게 이 패턴을 적용해볼까도 고민했지만 막연하기만한데... 퍼사드 패턴은 다음과 같이 정의된다. /* * 퍼사드(Facade)란 프랑스어 Facade에서 유래된 단어로.. 2020. 11. 3.
반응형