일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프론트엔드 과제
- 검색
- AWS
- 딥다이브
- api 요청 수 제한
- 유효시간 설정 url
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- 자바스크립트
- 모던 자바스크립트
- 음악 url 파일 다운로드
- Dev-Matching
- 스프링부트
- compateto
- Deep Dive
- this
- 프로그래머스
- bucket4j
- redis
- TypeORM
- concurrency limit
- 프론트엔드
- 우아한테크코스
- NestJS
- 타입스크립트
- api 비동기처리
- 파일 url
- 프리코스
- oauth
- 우아한 테크코스
- invalid_grant
- Today
- Total
목록디자인패턴 (15)
개발 알다가도 모르겠네요
스트래티지 패턴은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘. 프로그램에서 전략을 실행할 때는 쉽게 전략을 바꿔야 할 필요가 있는 경우가 많이 발생합니다. 특히 게임 프로그래밍에서 게임 캐릭터가 자신이 처한 상황에 따라 공격이나 행동하는 방식을 바꾸고 싶을 때 스트래티지 패턴은 매우 유용하게 쓰입니다. Example - 로봇만들기 기존 로봇의 공격 또는 이동 방법을 수정하려면? 아톰이 날 수는 없고 오직 걷게만 만들고 싶다면? 또는 태권V를 날게 하려면? 새로운 로봇을 만들어 기존의 공격 또는 이동 방법을 추가하거나 수정하려면?
빌더패턴은 아래와 같은 경우에 쓰입니다. 객체 생성 패턴 생성자의 인자가 많은 경우 생성자의 인자들 중에 필수적 인자와 선택적 인자가 혼합되어 있는 경우 Immutable 객체(변경할 수 없는 객체)를 생성하고 싶은 경우 Telescoping Constructor패턴 (점층적 생성자 패턴) 필수 인자를 받는 생성자를 정의한 후에 선택적 인자를 추가로 받는 생성자를 계속해서 정의 public class Book { private Long id; //필수 private String isbn; //필수 private String title; private String author; private int pages; private String category; } //필수적 인자 생성자 public Book(L..
객체의 인스턴스가 오직 1개만 생성되는 패턴 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용. 싱글턴은 하나의 원소만을 갖는 집합을 말합니다. 인스턴스: 클래스 특성O 객체: 클래스 특정X Example - Logger 만들기 public class Logger { private final String LOGFILE = "log.txt"; private PrintWriter writer; public Logger() { try { FileWriter fw = new FileWriter(LOGFILE); writer = new PrintWriter(fw, true); } catch (IOException e) {} } public vo..
SOLID란? 로버트 마틴이 주장한 다섯 가지 설계원칙을 말함. SRP(단일 책임 원칙, Single Responsibility Principle) OCP(개방 폐쇄 원칙, Open Closed Principle) LSP(리스코프의 대입 원칙, Liskov Substitution Principle) ISP(인터페이스 분리 원칙, Interface Segregation Principle) DIP(의존성 역전 원칙, Dependency Inversion Principle) SRP (Single Responsibility Principle) 단일 책임 원칙 (클래스는 단 하나의 책임만을 가지도록 설계해야 한다는 의미) 책임은 보통 「해야 하는 것」으로 간주. 클래스에 책임을 할당할 때 당연히 그 책임을 수행해..
추상화 모델링은 추상화에 바탕. (특정 관점에서 관련있는 점은 부각, 없는 것은 무시) 어떤 영역에서 필요로 하는 속성이나 행위를 추출하는 작업. 캡슐화 높은 응징도 (서로 관련있는 것끼리 모여 있는 것) 낮은 결합도 (외부에서 A정보에 직접적으로 접근X. 따라서 A정보 바뀌더라도 외부에 영향X) 일반화 관계 일반화(상속)을 속성이나 기능의 재사용 관점에서만 보는 것은 극히 제한된 관점. 철학에서 일반화(generalization)은 "여러 개체들이 가진 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립시키는 과정". 일반화는 클래스 자체를 캡슐화하여 변경에 대비할 수 있는 설계를 가능하게 함. (새로운 클래스 추가되도 클라에 영향X) 일반화와 위임 extends 자식이 부모의 기능 모두 사용: 일반..