디자인 패턴이란?
-소프트웨어를 설계할때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 훌륭한 해결책.
-"바퀴를 다시 발명하지마라( Don't reinvent the wheel)"
-이미 만들어져 잘되는것을 처음부터 다시 만들 필요가 없다는 의미이다.
패턴이란?
-다양한 소프트웨어 시스탬을 개발할때 야기되는 문제점들의 해결책 사이의 공통점들의 유사점을 패턴이라 부른다.
-패턴은 공통의 언어를 만들어주고 팀원사이의 의사소통을 원활하게 해준다.
장점
-코드 중복 방지
-런타임(Runtime)시에 타겟 메소드 변경
-확장성(신규 클래스)및 알고리즘 변경 용이
원칙
애플리케이션에서 달라지는 부분을 찾아내 달라지지 않는 부분으로 부터 분리시켜 캡슐화 시킨다.
스트레티지 패턴 (Strategy pattern)
알고리즘군을 정의하고 각각캡슐화하여 교환해서 사용할 수 있도록 만든다.
스트래티지패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할수 있다.
1. 변화하는 부분 캡슐화
2. 인터페이스에 위임
3. 각 객체 구현
참고 : https://hyeonstorage.tistory.com/146
스트래티지 패턴 (strategy pattern) (소스코드 첨부)
스트래티지 패턴 (strategy pattern) 스트래티지 패턴(Strategy pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하�
hyeonstorage.tistory.com
'JAVA 기초' 카테고리의 다른 글
react & SPA (0) | 2020.06.02 |
---|---|
절차지향 언어와 객체 지향 언어의 차이는? (0) | 2020.05.13 |
명령어들 commands (0) | 2020.05.04 |
변수 variable (0) | 2020.05.04 |
매개변수 , parameter (0) | 2020.05.04 |