일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- push에러
- Algorithm
- 메서드영역
- 이터레이터패턴
- 대문자 변환
- 평균구하기
- 소문자 변환
- 프록시패턴
- 반복제어문
- 코딩테스트
- 참조자료형
- 선택제어
- 403error
- 플랫폼독립성
- 약수구하기
- 제어키워드
- 스프링 스프링부트 차이
- 클래스영역
- 알고리즘
- 노출모듈패턴
- 자바의 구조
- 자바버전차이
- Java
- IF문
- 자바
- 디자인패턴
- 문자열
- 자바의 메모리구조
- 합 구하기
- 코테
- Today
- Total
목록Study/CS (9)
지니, 개발하다.
8. MVC 패턴 Model, View, Controller Pattern 모델, 뷰, 컨트롤러로 이루어진 디자인 패턴 장점과 단점 장점재사용성, 확장성이 용이함 application의 구성요소 세가지를 역할로 구분하여 각 구성요소에만 집중해서 개발 가능 단점 application이 복잡해질수록 모델과 뷰 간 관계가 복잡해짐 Model뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신함 application의 data인 DB, 상수, 변수등을 뜻함 View모델을 기반으로 사용자가 볼 수 있는 화면 단순히 화면에 표시하는 정보만 가지며 변경이 일어나면 컨트롤러에 전달해야함 사용자 인터페이스 요소 Controller메인 로직을 담당함모델이나 뷰의 변경통지를 받으면 이를 해석하여 각 구..
7. 노출 모듈 패턴 Revealing Module Pattern 즉시실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴 → 자바스크립트는 전역범위에서 스크립트가 실행됨 (이것을 기반으로 자바스크립트에는 CJS(Common JS)모듈이 있음) 즉시 실행 함수초기화 코드, 라이브러리 내 전역변수의 충돌방지에 사용됨 함수를 정의하자마자 바로 호출하는 함수 접근제어자protected : 클래스에 정의된 함수에서 접근 가능, 자식클래스에서 접근 가능, 외부클래스에서 접근 불가능 private : 클래스에서 정의된 함수에서 접근 가능, 자식클래스/외부클래스 접근 불가능 public : 클래스에 정의된 함수에서 접근 가능, 자식클래스/외부클래스에서도 접근 가능
6. 이터레이터 패턴 Iterator Pattern Iterator를 사용하여 Collection의 요소들에 접근하는 디자인 패턴 Iterator를 통해 자료형의 구조와는 상관없이 iterator라는 하나의 인터페이스로 순회가 가능 Iterator protocol 이터러블한 객체들을 순회할 때 쓰이는 규칙 이터러블 한 객체 반복이 가능한 객체로 배열을 일반화한 객체
5. 프록시패턴/프록시서버 Proxy Pattern/ProxyServer 프록시 패턴 대상객체(Subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 프록시패턴을 통해 객체의 속성, 변환 등을 보완하며 보안/데이터 검증/캐싱/로깅에 사용함 프록시 객체로도 쓰이지만 프록시 서버로도 활용됨 프록시 서버에서의 캐싱 캐시안에 정보를 담아두고 그 정보에 대한 요청처리는 캐시에 담긴 데이터를 활용하는 것 → 불필요한 외부연결이 없어지므로 트래픽을 줄일 수 있음 프록시 서버 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접 접속할 수 있게 하는 컴퓨터 시스템이나 응용프로그램 임 프록시 서버로 쓰이는 nginx, cloud fla..
4. 옵저버패턴 Observer Pattern 주체(객체의 관찰자) 가 객체(Subject) 의 상태변화를 관찰하다가 변화가 있을 시 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 패턴 옵저버 패턴의 예 : 트위터 이벤트 기반 시스템에 사용됨 MVC 패턴에도 사용됨 extends & implement extends 자식 클래스가 부모 클래스의 메서드를 상속받아 사용하며 자식클래스에서 추가/확장이 가능 재사용성, 중복성의 최소화 implement 자식클래스가 부모 인터페이스를 재정의하여 구현하는 것 반드시 부모의 메서드를 재정의하여 구현해야함 자바스크립트에서 옵저버패턴은 프록시객체를 통해 구현이 가능함 proxy 객체 어떠한 대상의 기본적인 동작의 작업을 가로챌 수 있는 객체 자바스크립..
3. 전략패턴 Stratege Pattern / Policy Pattern 객체의 행위를 바꾸고 싶은 경우, 전략이라고 부르는 캡슐화 알고리즘을 컨텍스트 안에서 바꿔주면서 상호교체가 가능한 패턴 컨텍스트 상황, 맥랙, 문맥 개발자가 어떤 작업을 완료하는데 필요한 모든 관련 정보 전략패턴을 활용한 라이브러리 passport passport는 Node.js 에서 인증 모듈 구현시 사용되는 미들웨어 라이브러리
2. 팩토리패턴 Factory Pattern 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화 한 패턴 상속관계에 있는 클래스에서 상위클래스는 뼈대를, 하위클래스는 객체 생성에 관한 구체적인 내용을 담당 장점 상/하위 클래스의 분리로 유연성이 높아짐 객체 생성 로직의 분리로 유지보수성 높아짐
1. 싱글톤 패턴 (Singleton Pattern) 하나의 인스턴스를 다른 모듈들이 공유하는 패턴 - 인스턴스 생성비용이 작아지고 의존성이 높아짐 - 보통 DB연결 모듈에 사용 장점 사용이 쉬움 실용적임 단점 1. TDD시 걸림돌이 됨 싱글톤은 미리 생성된 하나의 인스턴스를 기반으로 구현하므로 각 테스트마다 독립적인 인스턴스가 어려움 TDD (Test Driven Development) 단위테스트 : 테스트가 서로 독립적이어야하며 어떤 순서든 실행이 가능해야 함 2. 모듈간 결합을 강하게 만듦 -> 의존성 주입으로 결합을 느슨하게 할 수 있음 의존성 주입(DI, Dependency Injection) - 의존성은 존속성과 유사함 ( A가 B에 의존성이 있다 = B의 변경사항에 대해 A도 변해야 함 ) ..