디자인 패턴
-
Java Design Pattern - 전략 패턴(Strategy Pattern)Language/Java Design Pattern 2022. 11. 18. 15:02
전략 패턴(Stratgy Pattern) 전략 패턴이란? 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법을 말한다. 다시 말해, 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것만으로 행위의 수정이 가능하도록 만든 패턴이다. 전략 패턴의 사용 이유 위 다이어그램과 같이 기차(Train)와 버스(Bus) 클래스가 있고, 이 두 클래스는 Movable 인터페이스를 구현하고 있는 구조이다. public interface Movable { public String..
-
Java Design Pattern - SOLID 원칙Language/Java Design Pattern 2022. 11. 18. 15:02
SOLID 원칙 SOLID 원칙이란? SOLID 원칙이란 객체지향 설계에서 지켜줘야 할 5개의 원칙(SRP, OCP, LSP, ISP, DIP)을 말한다. 설계 원칙을 잘 알아야 하는 이유는 시스템에 예상하지 못한 변경사항이 발생하더라도, 유연하게 대처하고 이후에 확장성이 있는 시스템 구조를 설계하기 위해서이다. 좋은 설계란 시스템에 새로운 요구사항이나 변경사항이 있을 때, 영향을 받는 범위가 적은 구조를 말한다. 1. SRP(Single Responsibility Principle), 단일 책임 원칙 객체는 단 하나의 책임만 가져야 한다는 원칙을 말한다. 객체지향적으로 설계할 때는 응집도는 높게, 결합도는 낮게 설계하는 것이 좋다. 1. 응집도 : 한 프로그램의 요소가 얼마나 뭉쳐있는지, 즉 구성 요소..