[디자인 패턴] 0. 디자인 패턴
개요
디자인 패턴은 아키텍처를 사용하고 코드를 더 깔끔하고 확장 가능 하며 유지 관리하기 쉬운 방식으로 구성하는 데 도움이 된다
소프트웨어 개발에서의 디자인 패턴은 다운로드하거나 코드에 복사하여 붙여넣을 수 있는 것이 아닌,
소프트웨어 개발의 일반적인 문제에 대한 해결책으로 모든 개발자들이 자주 직면하는 문제에 대한 해결책으로 볼 수 있다.
디자인 패턴은 시간이 지남에 따라 일종의 표준이 된 모범 사례로, 소프트웨어 업계에서 널리 알려져 있으며 각자 고유한 이름이 있다.(싱글톤, 전략, 파사드 등)
이 패턴을 익혀두면 팀을 옮기거나 회사에 입사할 때 어떤 패턴이 사용되고 있는지 파악하고 코드 베이스를 더 빨리 이해할 수 있다. 또는 새 프로젝트를 시작할 때 견고한 구조를 설계하며 프로젝트를 구축할 수 있다.
디자인 패턴 유형
I. 생성 패턴
객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴
생성 디자인 패턴은 여러 상황에 맞는 객체 생성 메커니즘을 제공하여 코드를 유연하고 재사용 가능하게 유지한다.
이는 객체가 생성되는 방식에 독립적인 시스템을 만드는 방법이다.
II. 구조 패턴
더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴
구조 디자인 패턴은 유연성과 확장성을 유지하면서 더 큰 시스템을 구축할 때 여러 클래스를 구성하고 결합하는 방법에 중점을 두고 있다. 이를 통해 시스템의 각 부분을 서로 독립적으로 변경할 수 있다.
III. 행동 패턴
클래스나 객제들이 상호작용하는 방법과 역할 분담을 다루는 패턴
서로 다른 객체가 서로 통식하는 방식에 관한 것이다.
객체와 클래스가 서로 어떻게 통신하고 동작해야 하는지에 대한 지침을 제공한다