자주 보는 개발 설계 패턴 19가지 1탄
개발자라면 꼭 알아야 할 소프트웨어 개발 설계 패턴 19가지에 관해 알아보자!
사이트에 언급된 것 중 제가 평소 자주 접해왔던 사용하는 설계 패턴부터 먼저 소개하고 2탄에서 나머지 소개할게요!
1️⃣ Factory Method
팩토리 메소드는 객체 생성과 관련된 디자인 패턴이다. 팩토리 패턴에서 인스턴스 생성 로직을 클라이언트에 노출하지 않고 인스턴스 생성 전용 클래스에서 인스턴스를 생성한다.
2️⃣ Observer Pattern
오브저버 패턴은 개체 간의 다수 종속성을 정의하여 하나의 개체가 상태를 변경하면 모든 종속성이 자동으로 다른 객체들에게 통지되고 업데이트된다.
3️⃣ Singleton Design Pattern
싱글턴 설계 패턴은 클래스의 인스턴스화를 하나의 객체로 제한하는 설계 패턴이다.
4️⃣ Decorator Pattern
데코레이터 패턴은 객체에 추가 책임을 동적으로 부여한다. Subclass보다 데코레이터의 장점은 기능 확장하기 위해 좀 더 (기존 코드 변경 없이 등등) 유연한 대안을 제공한다는 것이다.
5️⃣ Facade Design Pattern
자바에서 인터페이스 JDBC는 퍼사드라고 불릴 수 있는데, 이는 사용자나 클라이언트로서 "java.sql.Connection"을 사용하여 만들고, 이 연결을 구현하는 것에 대해 사용자는 관심두지 않는다. 또 다른 좋은 예로 컴퓨터 시작을 살펴보자. 컴퓨터가 시작되면 CPU, 메모리, 하드 드라이브 등의 실행 작업이 수반된다. 사용자가 쉽게 사용할 수 있도록 시작에 필요한 작업 구현의 복잡성을 감추는 퍼사드를 추가해서 간단한 인터페이스만 제공할 수 있다. 시스템의 복잡성을 숨기고 클라이언트가 시스템에 액세스할 수 있는 인터페이스를 제공한다.
6️⃣ Builder Design Pattern
빌더는 복잡한 객체들을 단계별로 생성할 수 있도록 하는 생성 디자인 패턴이다. 빌더 패턴은 복잡한 객체를 단계별로 구성하는 데 사용되며 마지막 생성 단계에 객체를 리턴한다.
7️⃣ Proxy Pattern
프록시는 '대신'을 의미하며, 이것은 프록시 설계 패턴을 직접적으로 설명한다. 프록시는 surrogate, handle 및 wrapper라고도 한다. 실제 예로는 수표나 신용카드가 우리 은행 계좌에 있는 돈을 사용하게 하는 대리인이 될 수 있다. 현금 대신 사용할 수 있으며, 필요할 때 해당 현금에 액세스할 수 있는 수단을 제공한다. 프록시 패턴의 역할은 보호 중인 개체에 대한 액세스를 제어하고 관리한다.
8️⃣ Composite Design Pattern
컴포지트 패턴은 클라이언트가 객체 그룹(group of object)를 동일 인스턴스로 취급하는 것을 목적으로 한다.
🪴 함께 읽으면 좋은 글:
백엔드 개발 취업에 중요한 모놀리식과 마이크로서비스 아키텍처 https://careerly.co.kr/comments/77930
자주 언급되는 로드 밸런싱 알고리즘 6가지
https://careerly.co.kr/comments/77905
데이터베이스 속을 들여다보자! 관련 자료 구조는?
https://careerly.co.kr/comments/76441
출처 : 커리어리 '킴코더'님
https://careerly.co.kr/comments/78185?utm_campaign=user-share
킴코더 / 자주 보는 개발 설계 패턴 가지 탄 | 커리어리
개발자라면 꼭 알아야 할 소프트웨어 개발 설계 패턴 19가지에 관해 알아보자! 사이트에 언급된 것 중 제가 ...
careerly.co.kr
원 출처 :
https://www.geeksforgeeks.org/software-design-patterns/
Software Design Patterns - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
'공부 > 자기계발' 카테고리의 다른 글
질문하고 부탁할 때 저평가, 거절, 민폐의 두려움 이겨내기 (0) | 2023.03.05 |
---|---|
AI 챗봇의 다음 단계: API에 관한 모든 것 (0) | 2023.03.05 |
코딩 외에 개발자에게 절대적으로 필요한 스킬 (0) | 2023.03.05 |
개발자 진로에 중요한 직급별 스킬과 기대 역할 (0) | 2023.03.04 |
신입, 경력직 회사 생활과 자기 계발에 필요한 것 (1) | 2023.03.04 |