728x90 분류 전체보기379 [HeadFirst] 데코레이터 패턴 정의 데코레이터 패턴으로 객체에 추가 요소를 동적으로 더한다. 데코레이터를 사용하면 서브클래스를 만들 때 보다 훨씬 유연하게 기능을 확장할 수 있다. 너무 많은 종류가 있을때 상속을 쓰게 되면 관리해야 될 객체가 많아진다. - 예를 들어 음료의 종류가 100개가 넘는다면 100개의 객체를 관리를 해야 될 것 이다. 그렇기 때문에 데코레이터 패턴을 사용하면 된다. 아래는 다크로스트 -> 모카추가 -> 휘핑크림을 추가한 데코레이터 패턴의 모습이다. 구조 기본구조 ConcreateComponent component 의 구체화 메소드를 추가해 새로운 행동을 추가 할수 있다. ConcreateComponent 각 데코레이터 안에는 Component 객체가 들어 있다. 데코레이터에는 구성요소의 레퍼런스를 포함한 인.. 2023. 1. 7. 나의 코드가 고전이 되었으면 좋겠다. 고전이란? 고전이란 시대를 뛰어넘어 변함없이 읽을 가치가 있다는 뜻이 있습니다. 나의 코드가 고전이 된다는 의미는? 빠른 시대의 흐름과 많은 기술들이 나오면서 많은 것들이 빠르게 변화하고 있습니다. 당연하다고 생각합니다. 하지만 변하지 않는 것은 뭐가 있을까 고민을 해보았습니다. 여덟단어라는 책을 읽으면서 내가 작성한 코드와 내가 개발한 것들이 고전이 되어 시대의 흐름과 상관없이 가치가 있었으면 좋겠다는 생각이 들었습니다. 그말은 나의 코드가 모든 사람들에게 좋은 레퍼런스가 되면 좋겠고 내가 만든서비스가 시대의 흐름과 상관없이 본질을 잃어버리지 않고 모든 사람들에게 필요한 서비스가 되었으면 좋겠습니다. 성품 물론 코드 와 서비스만 아니라 성품에 있어서도 다른 사람들이 나를 봤을때 배울게 많은 사람이 되었.. 2022. 12. 31. [Kafka] 카프카 Error Handler 적용 ErrorHandler 카프카 컨슈머에서 에러가 발생했을경우 어떻게 처리를 할까? consumer config 에 error handler를 적용해 주면 된다. ErrorHandler package com.example.demo.handler; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.common.TopicPartition; import org.springframework.contex.. 2022. 12. 23. [Kafka] 카프카 Json 데이터 주고 받기 ProductInfo package com.example.demo.dto; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; @ToString @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class ProductInfo { private String productName; private Integer price; public ProductInfo(String productName, Integer price) { this.productName = productName; this.price = pr.. 2022. 12. 23. 이전 1 ··· 14 15 16 17 18 19 20 ··· 95 다음 728x90 반응형