디자인 패턴은 무엇인가?
우리가 프로그램을 만들때 무작정 만들지는 않는다. 말 그대로 프로그램을 어떻게 효율적으로 만들지 설계하는 것이다. 설계 방법에는 여러가지가 있는데 기본적인것과 주된 내용을 소개한다.
먼저 디자인 패턴에는
- 창조적
- 구조적
- 행동
기타 등등 패턴들이 존재한다.이중 가장 널리 사용되는 생성 패턴중 하나는 싱글톤 패턴이다.
이 패턴을 사용하면 클래스에 인스턴스가 하나만 있는지 확인하는 동시에 해당 인스턴스에 글로벌 접근 지점을 제공할 수있다. 싱글턴 패턴은 구성 관리자, 로깅 기능 또는 데이터베이스 연결과 같은 단일 공유 리소스가 필요할 때 유용하다. 대부분의 프로그래밍 언어에서 싱글턴 클래스를 만들려면 생성자를 비공개로 설정하고 싱글턴 인스턴스를 반환하는 정적 메서드를 제공해야 한다.
어댑터 패턴 : 이 패턴을 사용하면 한 클래스의 인터페이스를 클라이언트가 예상하는 인터페이스로 변환하여 호환되지 않는 인터페이스를 가진 개체가 함께 작동할 수 있다. 이 패턴은 기존 클래스를 새로운 시스템에 통합해야 하고 기존 클래스에 새 시스템과 호환되지 않는 인터페이스가 있을 때 유용하다.
관찰자 패턴 : 이 패턴은 객체가 종속자 목록을 유지하고 상태 변화를 자동으로 알려주는 디자인 패턴이다.
이 패턴은 다른 개체가 변경될 때마다 업데이트해야하는 개체가 있는 경우에 유용하고 이때 관찰자 개체는 주체 개체의 상태에 대한 변경 사항을 통보받고 적절한 조치를 취할 수 있다.
이런 설계 패턴들은 재사용이 가능하고 유지보수가 가능하다. 그리고 이해 가능한 방식으로 일반적인 소프트웨어 설계 문제를 해결하는 방법을 제공하기 때문에 소프트웨어 개발에 널리 사용된다. 개발자는 이러한 일반적인 상황을 인식하고 설계 패턴을 적용해서 설계를 개선할 수 있다. 다양한 유형의 디자인 패턴을 이해하고 이를 사용하는 시기는 소프트웨어 개발자들에게 귀중한 기수이 될 수 있고 더 효율적이고 유지보수 가능한 코드를 개발할 수 있다.
'1일 1cs' 카테고리의 다른 글
[1일] 데이터 구조. (0) | 2023.01.09 |
---|---|
SQL의 종류 (1) | 2022.09.25 |
HTTP vs HTTPS (0) | 2022.09.24 |
스택(Stack)2개로 큐(Queue) 구현하기 (0) | 2022.09.18 |
운영체제 / 스풀링(Spooling) 알아보기 (0) | 2022.09.15 |