CS

1. 1 디자인 패턴

HSH12345 2023. 1. 30. 23:53

1. 싱글톤 패턴

 - 하나의 클래스에 하나의 인스턴스만 가지도록 하는 패턴 데이터베이스 연결 모듈에 사용

 - 인스턴스 생성 비용이 줄어들지만 의존성이 높아진다.

 - 게임 개발 단계에서는 DataManager, InfoManager 등 정적 멤버변수로 저장된 인스턴스를 통해 데이터에 접근하도록 사용한다.(데이터베이스 연결 모듈)

 

 

2. 팩토리 패턴

 - 추상화 패턴으로 상위 클래스가 뼈대를 결정, 하위 클래스에서 객체 생성에 대한 구체적 내용을 결정

 - 클래스를 분리하여 유연하고 유지보수가 편하다.

 

 

3. 전략 패턴(정책 패턴)

 - 캡슐화 알고리즘으로 객체를 간접적 수정, 교체하는 패턴

 - 다양한 방식으로 결제, 인증하지만 결과는 같다.

 

 

4. 옵저버 패턴

 - 어떠한 객체의 상태가 변화할 때마다 메서드등의 기능으로옵저버들에게 변화를 알려주는 패턴

 - 내가 팔로우한 대상(관찰대상)이 포스팅을 한다면(변화) 알람(알려준다)이 간다.

 

 

5. 프록시 패턴

 - 프록시 패턴이란 객체에 접근하기 전 객체 앞단의 인터페이스에 먼저 접근하도록 하는 것

 - 프런트엔드와 백엔드간의 통신에서 에러를 줄여준다.

 - 비슷하게 캐시 안에 정보를 담아두는 프록시 서버를 두기도 한다. 프록시 서버는 DDOS 방어, HTTPS(TLS를 사용해 암호화된 연결을 하는 서버 - 클라이언트 간의 규칙) 구축에 용이하다.

 

 

6. 이터레이터 패턴?

 - 이터레이터(반복 가능한 객체로 배열을 일반화한 객체?)로 컬렉션에 접근하는 패턴

 

 

7. 노출모듈 패턴?

 - 즉시 실행 함수로 한정자를 만드는 패턴

 

 

8. MVC 패턴

 - 뷰 - 컨트롤러 - 모델로 이루어진 패턴 애플리케이션의 구성 요소를 세 가지로 나눠 효율적인 개발 가능하고 확장성이 용이하지만 애플리케이션이 복잡해질수록  세 요소간의 관계가 복잡해짐

 

 

9. MVP 패턴

 - MVC의 C(컨트롤러)가 P(프레젠터로) 교체된 패턴, 요소들이 1:1관계이며 MVC보다 강한 결합을 지님

 

 

10. MVVM 패턴

 - 반응형 프런트엔드 프레임워크, 함수를 사용하지 않고 값 대입으로 변수가 변경 html기반으로 재사용 가능한 컴포넌트로 UI를 구축할 수 있다.