일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- .out
- Spring
- 스프링프레임워크
- assuming That
- 부스트코스
- springframeworkruntime
- container
- Junit5
- .idea
- 컴퓨터과학
- Git
- assume That
- MVC모듈
- Swagger
- springboot
- springsecurity
- swaggerUrl
- securityconfig
- CS50
- 원격저장소
- GitHub
- c언어
- MVC
- 팀과제
- springmvc
- DispatcherServlet
- 파일삭제
- assume True
- assume
- gitbash
- Today
- Total
목록Design Pattern (4)
도담이 먹여 살려야하는 집사
팩토리 패턴을 한단계 업그레이드 시켜 추상화를 더했다고 보면됨. 구체적으로 만들어진 하위클래스를 정의하지 않고 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스 즉, 다양한 성격의 객체를 하나의 군으로 형성해 그것을 객체 단위로 취급해서 생성해야할때 유용한 패턴 추상팩토리 패턴은 언제 사용할까? 객체가 생성되거나 구성, 표현되는 방식과 무관하게 시스템을 독립적으로 만들고자 할때 여러 제품군 중 하나를 선택해서 시스템을 설정해야하고 한번 구성한 제품을 다른 것으로 대체할 수 있을때 관련된 제품 객체들이 함께 사용되도록 설계, 이부분에 대한 제약이 외부에도 지켜지도록 하고싶을때 제품에 대한 라이브러리 제공 그들의 구현이 아닌 인터페이스를 노출시키고 싶을 때(?) 장점은 팩토리 메소드와..

객체를 생성하는 인터페이스를 미리 정의하고 어떤 클래스의 인스턴스를 생성할 지에 대한 결정은 서브클래스에서 이루어지도록 하는 패턴 즉 부모(상위)클래스에서 미리정하고 자식(하위)클래스에서 결정 (객체 생성을 대신 수행해주는 공장이라고 생각 하기) 서브클래스에 인스턴스 결정 및 책임을 위임하는 패턴으로 Abstract Factory 와 Template Method 패턴에 활용할 수 있음. 서브 클래스에 대한 hook(객체별로 서로 다른 버전을 제공하는 기능) 메소드를 제공하는 패턴이다. 장점 직접 객체를 생성하는 것이 아니라 객체만 생성하는 factory를 만들어서 객체 생성을 중간 매개체인 공장에 불러오는 것 객체들은 한 공장에서만 생성되기 때문에 객체들을 한곳에서 관리할 수 있고 객체의 생명주기를 관리..

알고리즘의 구조를 메소드에 정의 하위클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴 상위클래스(추상클래스)애소는 템플릿에 해당하는 메소드들이 정의되어 있고, 하위클래스에서 이를 상속받아 메소드를 구현하는 것 공통되는것끼리 연관지어 클래스를 만들고 하위클래스에서 코드량이 매우 줄어들고 핵심으로만 코드를 작성할 수 있음 언제 사용할까? 1. 구현하려는 알고리즘이 일정한 프로세스가 있음 2. 구현하려는 알고리즘이 변경가능성이 클때 -> 알고리즘의 공통점이 있고 나중에 기능이 추가되거나 삭제될 수 있는 가능성이 클때 (확장) 템플릿 메소드 패턴을 구상하는 단계 1. 알고리즘을 여로 step으로 나눔 -> 요구사항을 여러 단계로 나눔 2. 나눠진 알고리즘의 단계를 메소드로 선언 3. 알고리즘을 수..