일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자료구조
- Spring
- LEVEL2
- 프로젝트
- algorithm
- lambda
- Java8
- 모던자바
- 코틀린
- BFS
- programmers
- 그래프
- 자바
- 알고리즘
- java
- 네트워크
- 백준
- backtracking
- 운영체제
- OS
- kotlin
- DFS
- baekjoon
- 백트래킹
- TDD
- Brute-force
- DP
- 프로그래머스
- 스프링
- back-end
- Today
- Total
목록컴퓨터 공학기초/디자인패턴 (2)
요깨비's LAB
1. 스트래티지 패턴이란? 모든 프로그램은 문제를 해결하기 위해 작성됩니다. 그리고 문제를 해결하기 위해 특정 알고리즘이 구현돼있습니다. Strategy 패턴에서는 그 알고리즘을 구현한 부분을 모두 교환할 수 있습니다. 정리하면 행위를 클래스로 캡슐화하여 동적으로 행위를 바꿀 수 있게 해주는 패턴 - 같은 문제를 해결하는 여러 알고리즘이 클래스 별로 캡슐화되어 있고 이들이 필요할 때 교체함으로써 동일한 문제를 다른 알고리즘으로 해결하도록 하는 디자인 패턴 즉 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴 - Strategy : 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 알고리즘 등을 의미 특히 게임 개발에서 유닛이 처한 상황에 따라 행동 양식을 바꾸고 싶을때 주로 사용됨 역할 - ..
1. 싱글턴 패턴이란? 프로그램을 실행할 때 보통은 많은 인스턴스가 생성됩니다. 예를 들어 java.lang.String 클래스의 인스턴스는 문자열 1개 당 1개씩 생성되기 때문에 문자열 1000개에 대해서 1000개의 인스턴스가 만들어집니다. 하지만 클래스의 인스턴스가 단 '하나만' 필요한 경우도 있습니다. 즉, 전역 변수를 사용하지 않고 객체를 하나만 생성하고, 이 객체를 어디서든지 참조할 수 있는 패턴 지정한 클래스의 인스턴스가 1개밖에 존재하지 않는 것은 '보증'하는 패턴 인스턴스가 1개 밖에 존재하지 않는 것을 프로그램 상에서 표현하고 싶을 때 사용하는 패턴 으로 정리할 수 있습니다. * 생성(Creational) 패턴 - 객체 생성에 관련된 패턴 - 객체의 생성과 조합을 캡슐화해 특정 객체가 ..