일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JDBC
- db
- 그리디
- 알고리즘
- jpa
- pointcut
- Servlet
- 백준
- Proxy
- Spring Boot
- 스프링
- 스프링 핵심 원리
- JPQL
- Thymeleaf
- Exception
- 인프런
- QueryDSL
- transaction
- springdatajpa
- 김영한
- Android
- 자바
- AOP
- kotlin
- 스프링 핵심 기능
- SpringBoot
- http
- Greedy
- java
- spring
- Today
- Total
목록Java (91)
개발자되기 프로젝트
1. Mediator Pattern?? 객체간의 상호 작용을 하나의 객체에서 캡슐화 하여 처리 UI 프로그래밍에서 많이 사용되는 방법으로, Widget 간의 상호 처리를 서로간에 처리하는 것이 아니 한 객체가 전담하여 처리하도록 하는 압ㅇ식 객체 서로간의 메시지를 전달할 일이 있을 대도 중재자를 두고 전달할 수 있음. N : N의 관계를 1:N의 관계로 바꿀 수 있음(counselor) 2. 의도와 동기 객체 지향 방법론에서는 객체와 관련된 처리는 객체 내부에서 하는 것이 맞지만, 그렇게 하면 상호작용의 급증이 발생하고, 시스템의 변경이 어려움. Mediator 객체가 상호작용을 제어하고, 조율하게 함. 각 객체는 다른 객체의 참조자는 알 필요가 없고 Mediator만 알면 됨. 3. Class Diag..
1.Facade Pattern ?? 간단한 창구 서브 시스템이 여러개인 경우 이를 통합한 하나의 인터페이스를 제공 서브시스템을 좀 더 편하게 이용하기 위한 높은 수준의 인터페이스를 정의 각 서브시스템의 역할이나 의존관계를 내부에서 올바른 순서로 사용할 수 있도록 외부에는 간단한 인터페이스만을 오픈 2. 의도, 동기 서브시스템을 합성하여 사용하는 다수 객체의 집합에 대한 하나의 일관된 인터페이스를 제공함으로써 사용하기 쉽게 함 사용의 오류를 방지 컴파일러 시스템의 경우 컴파일 명령어만 사용할 뿐 내부의 각 서브시스템의 구조를 알 필요가 없음. 3. Class diagram 4. 객체 협력 (collaborations) Facade : 하나의 일관된 인터페이스 제공 5. 중요한 결론 (consequence)..
1. Memento Pattern?? 내부 상태를 객체화 하여, 나중에 객체가 이 상태로 복구 가능하게 함 인스턴스의 상태를 보존해 두었다가 보존해 둔 정보를 가지고 인스턴스를 원래 상태로 복원 인스턴스를 복원하기 위해서는 내부 정보에 자유롭게 접근 가능해야 함 캠슐화 파괴가 일어나지 않도록 주의해야함. 2. 의도와 동기 이전의 상태로 되돌리는 undo 했던 작업을 다시 하는 redo 기억해야 하는 순간을 저장하는 객체 오류를 복구하거나 수행 결과를 취소하기 위한 작업에 사용 3. Class diagram 4. 객체 협력 (collaborations) Memento : Originator 객체의 내부 상태를 필요한 만큼 저장한다. Originator만이 Memento에 접근할 수 있다. Originato..
1. Observer Pattern?? 객체 사이에 일대다의 의존 관계가 있고, 어떤 객체의 상태가 변하게 되면, 그 객체에 의존성을 가진 다른 객체들이 변화에 통지(notiry or update)를 받고 자동으로 갱신될 수 있게 함. dependent, publish-subscribe 2. 의도와 동기 하나의 객체에 연동되는 여러 객체 집합이 있을 때 변화에 대한 일관성은 유지하고, 객체간의 결합도는 낮게하기 위한 패턴 변화에 관심이 있는 개체에 대한 가정없이 통보될 수 있도록 해야함. 주오 data-view의 관계에서 사요오딤 log와 그 handler들의 관계(file, console 등등) 3. Class diagram 4. 객체 협력 (collaborations) Subject : Observe..
1. State Pattern? 클래스가 하나(변수)의 상태에 따라 그 내부의 여러 메서드의 기능이 바뀐다고 하면 이를 각각의 클래스로 분리한다. 2. 의도 (Intent)와 동기(Motivation) 객체의 기능은 상태에 따라 달라질 수 있는데, 이러한 상태가 여러가지이고, 클래스 전반의 모든 기능이 상태에 의존적이라 하면, 상태를 클래스로 표현하는 것이 적절함 클래스로 분리하지 않게 되면 상태가 여러가지인 경우 많은 if-else 문이 사용되고 추후 상태가 추가되거나 삭제될 때 수정해야 하는 사항이 너무 많아짐 3. Class diagram 4. 객체 협력 (collaborations) Context : ConcreteState의 인스턴스를 관리하고 서로 상태가 바뀌는 순간을 구현할 수 있다. Sta..
1.Adapter Pattern 서로 다른 인터페이스를 중간에서 연결해주는 기능 이미 사용중이거나 정의된 인터페이스들을 중간에서 맞춰서 적용해 줄 수 있음 예) 안드로이드 ListView Adapter 2. 의도 (Intent)와 동기(Motivation) 클라이언트에서 사용하던 방식대로 호출하여 사용할 수 있도록 조정해주는 기능 서로 일치하지 않는 인터페이스를 변경하지 않고 중간에서 호출하여 사용할 수 있도록 제공 Wrapper 3. 해결 방법 (Solution) 상속을 활용하여 구현하는 Adapter 객체 합성의 방법으로 구현하는 Adapte 4. Class diagram 상속 방법 합성 방법 : 상속보다 유연한 방법, 코드 재사용 목적이면 합성을 ㅊㅊ 상속은 일반적인 클래스를 구체화 하는 방법. 5..
1. Composite Pattern 그릇과 내용물을 동일시 2. 의도 (Intent)와 동기(Motivation) 부분과 전체에 대한 복합 객체의 트리구조를 나타낼 수 있음 클라이언트가 개별 객체와 복합 객체를 동일하게 다룰 수 있는 인터페이스를 제공 재귀적인 구조 3. Class diagram 4. 객체 협력 (collaborations) Component -- 전체와 부분 객체에서 공통으로 사용할 기능 선언 -- 전체 클래스가 부분요소들을 관리하기 위해 필요한 인터페이스 선언 -- 전체와 부분 객체에서 공통적으로 사용할 인터페이스 선언 Leaf: -- 집합 관계에서 다른 객체를 포함할 수는 없고 포함되기만 하는 객체로 가장 기본이 되는 기능을 구현 Composite: -- 포함한 여러 객체를 저장하..
1. Decorator Pattern 장식과 실제 내용물을 동일시 객체에 동적으로 책임을 추가 2. 의도 (Intent)와 동기(Motivation) 상속을 사용하지 않고 기능의 유연한 확장이 가능한 패턴 객체에 동적으로 새로운 서비스를 추가 할 수 있음 전체가 아닌 개별적인 객체에 새로운 기능을 추가 할 수 있음 3. Class Diagram 4. 객체 협력 (collaborations) Component : 동적으로 추가할 서비스를 가질 수 있는 객체 정의 ConcreteComponent : 추가적인 서비스가 필요한 실제 객체 Decorator : Component의 참조자를 관리하면서 Component에 정의된 인터페이스를 만족하도록 정의 Decorator 는 Component를 참조하거나 또 다른..