전체 글


☰ Index 데코레이터 패턴들어가면서주된 내용카페에서 메뉴는..이것을 가능하게 해주는 개방-패쇄 원칙개방-패쇄와 데코레이터 패턴데코레이터 패턴그렇다면 데코레이터 패턴의 장단점 ?데코레이터 패턴에 대해서 마치며 데코레이터 패턴들어가면서커피 주문을 예시로 데코레이터 패턴을 시작하였다.여태 개발하면서 직접적으로 상품에 대한 옵션을 선택하고주문으로 이어지는 시스템을 개발한 기억이 없었다.그래서 이번 예시는 큰 기대감을 가져왔다.주된 내용카페에서 메뉴는..생각해보면 카페에서 음료에 대한 가짓수를 생각하면 무수히 많다.추가할 수 있는 옵션이 많아서인데, 이런 메뉴를 고려해서 각각의 옵션 조합..


☰ Index 시작 전Observer Pattern ?정의 및 특징Observer Pattern in JavaObserver Pattern vs Pub/SubObserver Pattern vs Pub/Sub 비교결론글을 마치며 시작 전헤드퍼스트 디자인 패턴을 읽고 정리한 내용이다.이번에는 저번시간에 이어 옵저버 패턴에 대해서 알아보려고 한다.Observer Pattern ?예시내가 요즘 주의 깊게 보고 있는 복싱 글러브가 있고이 복싱 글러브를 내가 구매한다면 어떤 일이 일어날까?복싱 글러브 재고에서 수량이 하나가 줄어들고,구매 홈페이지와 관리자 홈페이지에서 수량이 한개씩 줄어야한다.이처럼 특정 재고에 대해서 여..


☰ Index 들어가는 말문제시행 착오상속을 사용부가적인 요소 Interface 만들기해결 방법결론 들어가는 말개발 책 스터디를 함께 하는 팀원 분들이 있다.그들과 함께 해드 퍼스트 디자인 패턴을 읽게 되었다.일을 하면서 디자인패턴을 적용 시킨 기억이 없었다.그나마 알고 있고 익숙한건 SingleTon 패턴 뿐이였다.이번 스터디를 계기로 여러가지 디자인패턴에 대해 알아보고개발 방법에 대한 생각을 정리해야겠다.문제다음과 같은 상속 관계의 객체들이 있다.Carmove();break();BMW extend Carmove();break();BENZ extend Carmove();break();위처럼 Car 라는 객체가..


☰ Index 도입Spring BeanSpring Bean 이란?Spring Bean 의 특징Spring ContainerSpring Container 란 ?Spring Container 동작 방식Spring Bean 등록 방법글을 마치며 도입자주 사용하는 Spring Container 에 대해서 알아보려고 한다.여태 SpringBoot 를 사용하면서, 정리한 적이 없어 정리를 해보려고 한다.Spring BeanSpring Bean 이란?Spring Bean 이라는 특별한 이름을 가지고 있지만, 결국자바 인스턴스를 말한다. 굳이 Spring Bean 이라고 차별화를 둔 이유는특정 객체를 프레임워크 ( Sprin..


☰ Index 발단에러 발생 원인해결 방법 발단SpringBoot 에서 특정 서버를 호출하여 데이터를 받고 있다.이때 WebClient 를 사용하고 있는데 다음과 같은 예외가 발생하였다.org.springframework.web.reactive.function.client.WebClientResponseException: 200 OK from POST {요청 URL}, but response failed with cause: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes ..


☰ Index 들어가기 전에@Transactional@Transactional 는 어떻게 동작하는가 ?@Transactional 동작 순서@Transactional 사용 시 주의해야할 점글을 마치며 들어가기 전에SpringBoot 를 사용하여 데이터 베이스를 연결할 때, 사용하던@Transactional 어노테이션이 있다. 해당 어노테이션이 어떻게 동작하는지Spring AOP 를 사용해서 작동하는 것으로 간략히 알고 있다.그래서 이번에 조금 제대로 알아 보려고 한다.@TransactionalSpring Framework에서 하나의 작업 단위를 트랜잭션으로 묶어주는 어노테이션이다.데이터베이스의 ..


☰ Index 다형성다시 상속에 대해서Dynamic Binding & UpCastingUpCasting동적 메서드 탐색과 다형성Super 에 대해서 다형성많은 형태를 가질 수 있는 능력으로 쉽게 말해, 인터페이스에 대해다양한 구현을 가질 수 있는 것을 말한다.다형성도 굳이 나누자면 강제 다형성과 포함다형성으로 나눌 수 있다.1. 강제 다형성상속 관계(혹은 인터페이스 구현)를 통해 발생상위 클래스(혹은 인터페이스)가 선언한 메시지를 하위 클래스에서 재정의(오버라이딩)하여 사용하며동적 바인딩을 통해 실행 시점에서 실제 타입 메서드가 호출 됨2. 포함 다형성타입을 파라미터화해서 다양한 타입의 객체를 처리할 수 있는 ..


☰ Index 합성과 유연한 설계 : 11 Chapter합성은..상속으로 코드 중복을 줄이면 생기는 문제점문제점을 합성으로 해결하기믹스인✅ 마무리 정리 합성은..합성은 상속과 함께 코드 재사용을 피하기 위한 방법 중 하나이다.앞서 알아본 상속의 문제점을 생각해보면 상속은 부모 클래스에 대해서 자세히알고 있어야하며 이로 인해 부모 클래스와 자식간의 결합도가 높아진다.우선 상속의 단점들을 상기시켜 합성의 장점을 알아보자불필요한 인터페이스 상속 문제 해결앞에서 알아본 Java 에서 Stack 객체는 Vector 라는 구조를상속 받아 만들었고 불필요한 상속으로 인해 Stack 에서 자료를 추가하는..