반응형 디자인패턴3 [Java 객체 지향 디자인 패턴] 7. 스테이트 패턴 - State Pattern : 상태의 캡슐화 상태란 객체가 시스템에 존재하는 동안, 즉 객체의 라이프 타임 동안 객체가 가질 수 있는 어떤 조건이나 상황을 표현한다. 스테이트 패턴 스테이트 패턴은 상태에 따라 동일한 작업이 다른 방식으로 실행될 때 해당 상태가 작업을 수행하도록 위임하는 디자인 패턴이다. 스테이트 패턴의 목표는 현재 시스템이 어떤 상태에 있는지와 상관없이 구성하고, 상태변화에도 독립적이도록 코드를 구현하는 것이다. 이를 위해서 상태를 클래스로 분리해 캡슐화 한다. Light(형광등)은 State를 attribute로 가지고 있으며, 외부에서 의존성을 주입 받기 위해 setState Method까지 가지고 있다. State Interface를 구현한 형광등의 상태인 ON, OFF가 있으며, 각 상태에서 on, off를 실행하는 코드를.. Java/Java 객체지향 디자인 패턴 2022. 3. 14. [Java 객체 지향 디자인 패턴] 5. 스트래티지 패턴 - Strategy Pattern~! 전략 패턴~! 안녕하세요~! 펄입니다. 드디어! 구체적인 디자인 패턴에 대해서 공부하게 됐어요... 서론이 생각보다 길고 생각보다 중요한 것 같기도... 책에서는 로봇을 예제로 설명을 해준다. 예제는 생략하고 연습문제를 풀면서 뒤쪽에서 설명해보도록 하겠습니다. 5.4 스트래티지 패턴 - Strategy Pattern 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 전략은 일을 수행하는 방식, 비즈니스 규칙, 문제 해결 알고리즘 등으로 이해할 수 있다. 스트래티지 패턴에서는 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴이다. Strategy 패턴에서 나타나는 역할이 수행하는 작업 - St.. Java/Java 객체지향 디자인 패턴 2022. 2. 23. [Java 객체 지향 디자인 패턴] 4. 디자인 패턴 - 바퀴를 다시 발명하지 말라~! 안녕하세요. 펄입니다. 이번에는 디자인 패턴의 개념에 대해서 공부해볼 예정입니다. 4.1 디자인 패턴의 이해 디자인 패턴 구조는 콘텍스트, 문제, 해결 이라는 3개의 필수 요소로 구성된다. - 콘텍스트 : 문제가 발생하는 여러 상황을 기술한다. 패턴이 적용될 수 있는 상황을 나타낸다. 경우에 따라서는 패턴이 유용하지 못한 상황을 나타내기도 한다. - 문제 : 패턴이 적용되어 해결될 필요가 있는 여러 디자인 이슈들을 기술한다. 이 때, 여러 제약 사항과 영향력도 문제 해결을 위해 고려해야 한다. - 해결 : 문제를 해결하도록 설계를 구성하는 요소들과 그 요소들 사이의 관계, 책임, 협력 관계를 기술한다. 해결은 반드시 구체적인 구현 방법이나 언어에 의존적이지 않으며 다양한 상황에 적용할 수 있는 일종의 템.. Java/Java 객체지향 디자인 패턴 2022. 2. 16. 이전 1 다음 반응형