Architecture 13

자바 빌더 패턴: 객체 생성

빌더 패턴은 객체 생성을 단순화하고 유연성을 높여주는 디자인 패턴입니다. Builder 패턴 장점가독성과 유지보수성 향상: 빌더를 사용하면 객체를 생성하는 코드가 명확해지고 가독성이 향상됩니다. 또한, 새로운 속성을 추가하거나 수정할 때에도 해당 빌더만 수정하면 되므로 유지보수성이 더 높아집니다.선택적 매개변수 처리: 객체에 선택적으로 값을 설정해야 하는 경우 빌더 패턴은 편리합니다. 모든 매개변수를 단일 생성자에 전달하는 것보다 빌더를 통해 원하는 속성만 설정할 수 있기 때문입니다.불변성과 불변 객체 생성: 빌더를 사용하면 불변 객체(Immutable Object)를 쉽게 생성할 수 있습니다. 불변 객체는 여러 스레드에서 안전하며, 객체의 상태가 변경되는 것을 방지하는데 도움을 줍니다.Builder 패..

Architecture 2023.07.22

자바 데코레이터 패턴과 람다 예외 처리: 코드 가독성을 높이는 방법

우선 간단한 예제로 시작하겠습니다. 람다속 예외처리는 다음과 같이 처리합니다.User라는 객체 리스트를 json String으로 변환하는 로직으로 try-catch문 때문에 코드가 복잡해졌습니다. private static final ObjectMapper objectMapper = new ObjectMapper(); public static void main(String[] args) { List users = findUsers(); // JsonProcessingException List jsonList = users.stream().map(user -> { try { return objectMapper.w..

Architecture 2023.07.14

Sharding Storage + Spring + JPA (분산저장). 1부

소스코드 (해당 블로그 내용은 2번째 커밋에 있습니다: 5ae762acce83f126a8e2c153eeceeeddf9e4275a)github: https://github.com/youseonghyeon/multi-datasource-jpa GitHub - youseonghyeon/multi-datasource-jpa: 샤딩 스토리지 구성을 위한 JPA 설정샤딩 스토리지 구성을 위한 JPA 설정. Contribute to youseonghyeon/multi-datasource-jpa development by creating an account on GitHub.github.com 우선 분산 저장의 장점은 DB 과부화를 방지할 수 있다는 장점이 있습니다.트래픽이 많고 DB connection이 많거나, 대..

Architecture 2023.03.25