※ 디자인 패턴
- 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 재 발생 했을 때 재사용 할 수 있는 해결책
- "Don't reinvent the Wheel(바퀴를 다시 발명하지 마라) - 이미 만들어져 잘 되는 것을 처음부터 다시 만들 필요가 없다.
- GOF(Gang Of Four)의 디자인 패턴

GOF 디자인 패턴은 위와 같이 23개가 있다. 이 포스트에서는 자주 쓰이는 일부의 패턴들만을 살펴 보겠다.
1. 생성(Creational) 패턴
1) 싱글턴 패턴
어떤 클래스가 유일하게 1개만 존재해야할 때 사용한다. 스프링에서 Bean을 만들 때 기본설정이 싱글톤이다. @Scope를 사용하여 변경할 수 있다.
- 방법
class Singletone{
static private Singletone singletone;
private Singletone(){ }
// 기본 생성자를 막아 생성하지 못하도록 한다.
public static Singletone getInstance(){
if(singletone==null){
return singletone = new Singletone();
}
return singletone;
}
}
- 위와같이 Singletone이라는 클래스를 생성하는 것을 막는다(기본 생성자를 priate로 막아서).
- static 메서드인 getInstance() 메서드를 사용하여 인스턴스를 얻는다.
- 멤버인 singletone이 한번 생성된 경우에는 항상 이를 반환하여 재생성을 막는다.
2) 추상 팩토리 패턴
3) 빌더 패턴
4) 팩토리 메서드 패턴
- 계속...
출처
https://jusungpark.tistory.com/22
https://gmlwjd9405.github.io/2017/10/01/basic-concepts-of-development-designpattern.html
https://jdm.kr/blog/235
https://limkydev.tistory.com/79
https://ltk3934.tistory.com/74
'ComputerScience > SoftwareEngineering' 카테고리의 다른 글
[SoftwareEngineering] 3. 디자인 패턴 - 행위 (0) | 2021.06.06 |
---|---|
[SoftwareEngineering] 2. 디자인 패턴 - 구조 (0) | 2021.06.05 |
댓글