일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- JPA
- hibernate
- DesignPattern
- 토비의스프링
- 토비의스프링3.1
- AutoConfiguration
- 빌드툴
- lambda
- ORM
- Immutable
- 컴퓨터시스템
- 클린코드
- 링킹
- springboot
- DispatcherServlet
- exception
- 자바
- FunctionalInterfaces
- beanfactory
- 링커
- Kotlin for Java Developers
- gradle
- springwebmvc
- String
- 메이븐
- IOC
- 프록시
- ApplicationContext
- Spring
- Today
- Total
목록디자인패턴 (2)
엔지니어로 가는 길
1. Introduction 메멘토 패턴은 behavioral design pattern 중 하나로, 객체가 이전 상태를 복원할 수 있도록 해준다. 메멘토 패턴에는 개념적으로 다음의 세 객체가 필요하다. - Originator: 상태를 저장하고자 하는 대상으로 memento를 만들고, 소비하는 객체 - Memento: Originator의 상태를 저장할 객체(POJO) - Caretaker: Originator를 이용하여 여러 memento를 추적하는(keep track) 객체 2. Example 텍스트 에디터를 구현한다고 생각해보자. 일반적으로 텍스트 에디터들은 undo와 redo를 제공하는데, undo와 redo 기능을 구현하기 위해 메멘토 패턴을 사용해볼 수 있을 것 같다. 세 개의 클래스를 만들었..
Facade Pattern(퍼사드 패턴) 퍼사드 패턴은 서브시스템에 있는 인터페이스들에 대한 통합된 인터페이스를 제공한다. 퍼사드란 서브시스템을 더 쉽게 사용할 수 있도록 만드는 더 높은 수준의 인터페이스를 말한다. 퍼사드 패턴의 등장인물 및 역할은 다음과 같다. Facade: 클라이언트의 요청을 적절한 서브시스템 클래스에 위임한다. Subsystem classes: 서브시스템 기능을 구현한다. 서브시스템 클래스는 facade에 의해서만 사용된다. Client: Facade에게 특정 행동을 수행해달라고 요청한다. 온라인 쇼핑몰에서의 주문 시스템을 예로 들어보자. 현재의 상황에서 클라이언트는 서브시스템 클래스에 의해 구현된 서비스들과 다수의 상호작용을 해야하며, 서브시스템 클래스에 대한 정보를 알고 있어야..