IT Interview

004. 디자인패턴

셜록호움즈 2021. 9. 12. 00:31
728x90
반응형

배경

논문 "Using Pattern Languages for Object-Oriented Programs" (1987)을 통해 제안되었다.

이후 큰 유명세를 타게 된 것은 23개의 패턴을 수록한 'GoF'(Gang of Fours). Design Patterns: Elements of Reusable Object-Oriented Software. (1995)이다.

 

이미 만들어져서 잘 되는 것을 처음부터 다시 만들 필요가 없다는 의미이다.
패턴이란
각기 다른 소프트웨어 모듈이나 기능을 가진 다양한 응용 소프트웨어 시스템들을 개발할 때도 서로 간에 공통되는 설계 문제가 존재하며 이를 처리하는 해결책 사이에도 공통점이 있다. 이러한 유사점을 패턴이라 한다.
패턴은 공통의 언어를 만들어주며 팀원 사이의 의사 소통을 원활하게 해주는 아주 중요한 역할을 한다.

 

디자인 패넌의 종류

생성(Creational) 패턴
객체 생성에 관련된 패턴
객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다.

 

1. 추상팩토리 : https://victorydntmd.tistory.com/300

 

[디자인패턴] 추상 팩토리 패턴 ( Abstract Factory Pattern )

추상 팩토리 패턴 ( Abstract Factory Pattern ) 추상 팩토리 패턴이라는 이름만 봐서는 팩토리 메서드 패턴과 비슷해보이지만, 명확한 차이점이 있습니다. 팩토리 메서드 패턴 조건에 따른 객체 생성

victorydntmd.tistory.com

 

2. 싱글턴 : https://victorydntmd.tistory.com/293?category=719467 

 

[디자인패턴] 싱글톤 패턴 ( Singleton Pattern )

싱글톤 패턴 ( Singleton Pattern ) 싱글톤 패턴이란, 인스턴스가 프로그램 내에서 오직 하나만 생성되는 것을 보장하고, 프로그램 어디에서든 이 인스턴스에 접근할 수 있도록 하는 패턴입니다. 즉,

victorydntmd.tistory.com


구조(Structural) 패턴
클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴이다.


행위(Behavioral) 패턴
객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴
한 객체가 혼자 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하는지, 또 그렇게 하면서도 객체 사이의 결합도를 최소화하는 것에 중점을 둔다.


 

 

참조: https://velog.io/@namezin/GoF-design-pattern

 

GoF 디자인 패턴

Gang of Four Design Pattern

velog.io

 

아키텍쳐, 프레임워크, 디자인패턴

디자인 패턴 vs 아키텍처 vs 프레임워크의 차이

참조: https://gmlwjd9405.github.io/2018/07/06/design-pattern.html

 

[Design Pattern] 디자인 패턴 종류 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

728x90
반응형

'IT Interview' 카테고리의 다른 글

007. MVC , MSA  (0) 2021.09.13
006. CI/CD  (0) 2021.09.13
005. 싱글톤 패턴  (0) 2021.09.12
002. IoC, AOP , DI, POJO 의 개념  (0) 2021.09.11
001. Spring Framework  (0) 2021.09.10