일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPQL
- jpa
- transaction
- Greedy
- 알고리즘
- 인프런
- pointcut
- kotlin
- java
- spring
- Android
- Exception
- SpringBoot
- 스프링 핵심 원리
- 자바
- Thymeleaf
- springdatajpa
- Spring Boot
- 스프링
- JDBC
- 스프링 핵심 기능
- 김영한
- db
- 백준
- Servlet
- 그리디
- AOP
- http
- QueryDSL
- Proxy
- Today
- Total
목록Java (91)
개발자되기 프로젝트
1. Bridge Pattern 기능의 계층과 구현의 계층을 분리함 추상화와 구현을 분리하여 각갇을 독립적으로 변경할 수 있게 함. 2. 의도 (Intent)와 동기(Motivation) 기능의 확장과 구현의 확장을 따로 계층화 함 기능에 대한 여러가지 구현을 다양하게 적용할 수 있음 기능과 구현이 혼재하면 상속의 관계가 복잡해짐 두 계층을 분리하고 서로의 사이에 다리(Bridge)가 필요함 3. Class diagram 4. 객체 협력 (collaborations) Abstraction (List) 추상화 개념의 상위 클래스이고 객체 구현자(Implemntor)에 대한 참조자를 관리 RefinedAbstraction (Stack, Queue) 추상화 개념의 확장된 기능을 정의 Implementor (A..
1. Strategy Pattern 정책이나 알고리즘을 교체하여 사용할 수 있음. 2. 의도 (Intent)와 동기(Motivation) 다양한 알고리즘이 존재하면 이들 각각을 하나의 클래스로 캡슐화하여 알고리즘의 대체가 가능하도록 한다. 클라이언트와 독립적인 다양한 알고리즘을 적용할 수 있도록 한다. 사용자가 모르고 있는 데이터를 사용하여 여러 정책들이 반영될 수 있도록 구현 여러 정책이 수행되어야 하는 조건들 (if-else, switch) 문이 없어질 수 있다 3. Class diagram 4. 객체 협력 (collaborations) Strategy 정책이 수행해야 하는 기능들을 인터페이스로 선언 ConcreteStrategy Strategy에 선언된 여러 기능들을 구현 다양한 정책들이 구현될 수..
1. Factory Method Pattern?? 인스턴스 작성을 하위 클래스에게 위임 Template Method 패턴을 인스턴스 생성에 적용. 2. 의도 (Intent)와 동기(Motivation) 객체를 생성하기 위한 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스에서 결정하게 함. 여러 상황에 따라 각각 생성될 수 있는 객체에 대한 생성을 하위 클래스에 위임 생성과 관련된 동일한 메서드는 상위 클래스에서 처리 3. Class diagram 4. 객체 협력 (collaborations) Product 팩토리 메소드가 생성하는 객체의 인터페이스를 정의한다. ConcreteProduct Product 클래스에 정의된 인터페이스를 실제로 구현한다. Creator Pro..
1. Template Method Pattern?? 상위 클래스에서는 전체적인 흐름을 구현하고 구체적인 처리는 하위 클래스에 위임. 2. 의도와 동기 Operation에 알고리즘의 기본 골격 구조를 정의하고, 구체적인 단계는 서브클래스에서 정의한다. --> 프레임워크에서 자주 쓰는 이유 추상화된 함수를 통해서 알고리즘의 일부 단계를 정의함으로써 template method의 처리 순서를 정할 수 있다. 3. Class Diagram 4. 객체 협력 (collaborations) AbstractClass 서브 클래스들이 반드시 구현해야 하는 알고리즘 처리 단계 내의 기본 오퍼레이션이 무엇인지를 정의한다. 서브 클래스에서 이들 오퍼레이션들을 구현한다. ConcreteClass 상위 클래스에서 선언된 추상 메..
1. GoF 디자인 패턴에서의 Builder Pattern이란? 메서드의 조합으로 결과물을 생성하는 방법 생성에 대한 과정과 각 결과물을 표현하는 방법을 분리하여 동일한 생성 과정에 서로 다른 여러 결과물이 나올 수 있도록 함. 클라이언트 코드는 Bulder가 제공하는 메서드를 기반으로 원하는 결과물을 얻을 수 있음 단계별 생성에 중점을 두는 패턴 새로운 결과물이 필요한 경우에도 동일한 과정으로 생성을 할 수 있음. 2. 의도와 동기 생성 과정과 구현 방법을 분리하여 동일한 생성에서 여러 다른 표현이 나올 수 있음. 3. Class Diagram(GoF) Builder는 BuilPart1, BuilPart2, BuilPart3 메서드들이 진행되어야 하나의 결과물이 나올 수 있다. Director는 bui..
1.Abstract Factory Pattern ? 여러 제품군(set)을 한꺼번에 생성하는 패턴 마지 공장마냥 instance set를 생성. 2. 의도(intent), 동기(motivation) 구체적인 클래스를 생성하지 않고도, 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스 제공 추상화된 인터페이스 팩토리를 제공하고, 상황에 다라 그에 맞는 인스턴스들이 생성되도록 함. 가령 데이터베이스에 따라 DAO클래스가 달라져야 한다고 할 때, 현재 사용해야 하는 DB종류에 따른 DAO인스턴스를 한꺼번에 생성하도록 한다. 위젯을 생성하여 보여줄 때 선택한 옵션에 따라 위젯의 set이 달라질 수 있도록 한다. 생성되고 구성되고 표현되는 방식과 무관하게 시스템을 독립적으로 만들고자 할 때..
1. Prototype Pattern이란? 복제해서 인스턴스를 만드는 패턴 2. 의도(intent)와 동기(Motivation) 클래스의 인스턴스가 생성과정이 복잡하거나 여러 조합에 의해 생성되어야 하는경우 하나의 견본(prototype)을 만들어 초기화해두고 이를 복제해서 객체를 생성하는 방법 3. Class Diagram Object 클래스에서 제공하는 clone()을 사용 clone()메서드가 호출되면 복제됨 ㅋㅋㅋㅋ 4. 객체 협력 (collaborations) 복제하는데 필요한 5. 중요한 결론 (consequence) 프로토타입 속성값을 활용하여 다양한 객체를 생성할 수 있음 서브클래스의 수를 줄일 수 있다. 자바에서는 clone() 메서드를 재정의하여 구현한다. 객체는 일반적으로 쉽게 바뀌면..
1. Singletone Pattern이란? 자바에서 객체를 사용하기 위해서는 생성해야 함. 매번 new를 하면 새로운 객체가 생성됨.. 클래스의 인스턴스는 오직 하나임을 보장하여 이 인스턴스에 접근할 수 있는 방법을 제공하는 패턴 2. 의도(intent)와 동기(Motivation) 클래스에서 만들 수 있는 인스턴스가 오직 하나이고, 이에 대한 접근을 어디에서든지 하나로만 통일하여 제공. 어떤 클래스의 경우에는 정확히 하나의 인스턴스만을 갖도록 하는 것이 중요하다. 한 회사에서는 하나의 회계 시스템을 운영 Database와 연결하는 connection은 여러개 일 수 있지만 connection pool은 한 개 자바에서는 전역 변수가 존재하지 않으므로 인스턴스가 하나만 존재하도록 설계해야 하고 이에 접..