일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- React JS
- 리액트 훅
- 프로그래머스 완전탐색
- 자바
- useState
- 코틀린
- JavaScript
- 백준
- react firebase
- 프로그래밍 언어론
- websocket
- 리액트
- codesandbox
- 자바 공부
- 장고
- useEffect
- 코딩테스트 고득점 Kit 완전탐색
- NextJS
- 프로그래머스 자바
- design pattern
- 데이터모델링과마이닝
- 프로그래머스
- 자바스크립트
- 코딩테스트 고득점 Kit
- 컴퓨터 네트워크
- Java
- react
- vanillaJS
- react hook
- 디자인 패턴
- Today
- Total
목록3-2 (22)
기록하는 개발자
문제 상태(state)가 여러 개 있고, if 문으로 상태를 통제하여 코드가 반복되고 복잡하다. 해결 방안 상태를 한 곳에서 관리 목적 - 객체의 내부 상태가 바뀔 대 객체의 동작을 변경할 수 있도록 함. - 객체는 자신의 calss를 바꾸는 것처럼 보임. 결과 변경 최소화 State Patten 용어 State -시점에 따라 특정 상태가 있어야 함. -처음에 가지게 되는 초기 상태(state) 또는 상황에 따라 여러 상태 가운데 한 상태를 가질 수 있다. Transition(전이) -외부 입력에 따라 가능한 상태로 전환 ex) 가전 제품 : on, off, sleep... 게임 캐릭터 : 걷는 상태, 뛰는 상태, 멈춘 상태...
문제 서브 시스템이 너무 많고 사용하기가 복잡함 해결 방안 단순한 interface를 제공하는 객체를 중간에 넣음 목적 -서브 시스템에 있는 여러 개의 interface를 통합하는 한 개의 interface를 제공 - facade는 서브 시스템을 쉽게 사용할 수 있도록 해주는 고급 수준의 interface를 정의 결과 최소 지식 원칙에 입각해 의존성 최소화 Facade Pattern -어떤 서브시스템의 일련의 interface에 대한 통합된 interface를 제공 -facade에서 고수준 interface를 정의하므로 서브시스템을 더 쉽게 사용할 수 있다.
문제 사용 객체의 API가 서로 다름 해결 방안 함수를 변환하는 객체를 중간에 넣음 목적 -class의 interface를 client가 원하는 형태의 또 다른 인터페이스로 변환. -adapter는 호환되지 않는 interface 때문에 동작하지 않는 class 들을 함께 동작할 수 있도록 만들어 줌 결과 변경 최소화 Adapter Pattern 객체를 감싸는 역할을 한다.(Object wrapping) -서로 호환되지 않는 두 개 interface를 연결하는 작업 -서로 다른 interface를 동일하게 변환 객체 지향 Adapter -일상 생활에서 쓰이는 adapter와 똑같은 역할을 함. -어떠한 interface를 client에서 요구하는 형태의 interface에 적응시켜주는 역할을 함. Ada..
문제 사용 객체의 API가 서로 다름 해결 방안 실행과 요청을 분리 목적 - 요구사항(요청, 명령)을 객체로 캡슐화 시킴 - 이를 이용해 다른 요구사항을 지닌 클라이언트를 매개변수화 시킬 수 있음. - 요구사항을 큐에 넣거나 로그로 남길 수 있으며 작업 취소(undo) 기능 지원도 가능 결과 (작은)클래스가 많아지나, 객체 사용에 필요한 복잡성을 제거하고 감춘다(함수 이름이 동일해진다) 설계 *Decoupling : 요청과 실행을 분리 Command -Receiver를 알고 있고, Receiver의 method를 호출 - Receiver의 method에서 사용되는 매개변수의 값들은 Command에 저장됨 ex)Command, ConcreteCommand Receiver - 실제 명령(command)수행 ..