본문 바로가기
반응형

브릿지3

State Pattern, 상태 패턴 상태 패턴이란?우리가 엘리베이터를 타면 수리 중, 운행 중, 대기 중일 때에 동작이 다르다.수리 중에는 버튼을 아무리 눌러도 동작하지 않도록 되어있고 운행 중에는 열림버튼이 동작하지 않는다.대기 중일 때야 비로소 열림버튼이 정상적으로 동작을 한다.이처럼 상태에 따라서 같은 행위를 하더라도 동작이 달라지도록 만드는 것이 바로 상태 패턴이다. 상태 패턴을 사용했을 때의 장점상태별로 복잡한 조건문을 작성하는 것 대신 클래스로 나누어서 코드 가독성이 높아진다.상태가 추가되거나 삭제될 때 기존의 코드를 거의 수정하지 않고 추가/수정할 수 있다.언제 상태 패턴을 고려해야 하는가?상태에 따라서 객체의 행위가 달라지는 경우조건문으로 처리하기엔 많은 경우의 수가 존재하는 경우상태 패턴을 사용했을 때의 단점 다양한 상황을.. 2024. 9. 11.
Composite Pattern, 복합체 패턴 복합체 패턴이란? 컴포지트 패턴 혹은 복합체 패턴이라고 불리는 이 패턴은 객체들을 트리구조로 구성하여 개별객체와 복합 객체를 동일하게 취급할 수 있도록 하는 구조적 디자인패턴이다. 이를 통해서 단일객체와 복합객체를 일관된 방식으로 다룰 수 있게 된다. 왜 사용해야 하는가? 단일 객체와 복합 객체를 동일하게 취급하기 때문에 클라이언트 쪽에서 코드를 일관된 방식으로 사용할 수 있게 된다. 재귀적인 구조로 편리하게 구현할 수 있다. 새로운 단일 객체나 복합 객체를 추가할 때 기존의 코드를 수정하지 않는다. 어떤 경우에 사용해야 하는가? 나무처럼 계층적인 부분-전체 구조를 갖고 있을 때 사용하면 좋다. 예를 들어, 그래픽 요소나, 문서 구조등이 있다. 클라이언트가 일관된 인터페이스로 사용해야 할 때 사용하면 좋.. 2024. 2. 5.
Bridge Pattern, 브릿지 패턴 브릿지 패턴이란? 큰 클래스나 클래스들의 집합을 추상화, 구현을 이용해서 계층구조로 작성하여 독립적으로 개발할 수 있도록 만든 디자인패턴이다. 마치 다리처럼 프로그램의 추상화 부분과 구현 부분을 연결을 해주어 서로 독립적으로 변경하거나 확장할 수 있도록 하는 것이다. 왜 사용해야 하나요? 추상화와 구현 부분을 독립적으로 확장할 수 있다 => 기능을 확장하면서도 기존 코드를 건들지 않는다는 말이다! 특히 복잡한 계층구조에서 이를 활용하면 많은 수의 클래스를 줄일 수 있습니다. 런타임시 구현을 바꿀 수 있는 유연성을 갖게 됩니다. 클라이언트에게 구현부의 변경을 숨길 수 있게 되어 안정성이 증가합니다! 어떤 경우에 사용하나요? 복잡한 클래스의 계층구조를 가지고 있어 많은 수의 클래스가 생겨 추가하거나 변경하기.. 2024. 2. 5.
반응형