Java5 구독 시스템 - 결제 주기와 구독 서비스 로직 구독 시스템 구현을 위해 구독 상태를 enum으로 관리하고 필요한 Entity들을 설계했다. https://dorightting.tistory.com/36 구독 시스템 - 구독 상태 및 Entity 설계카카오 페이 결제 시스템 구축으로 인해 결제가 가능한 서비스를 개발하게 되었다. 단순 결제를 통해 배운 트랜잭션과 격리 수준에 대해 새롭게 배우고, 결제 시스템 꼭 필요한 멱등성 관리에dorightting.tistory.com Entity 설계 이후에 다시 생각해보니, 단순히 월간 결제 주기만 생각할 게 아니라 연간 결제도 있으면 좋겠다고 생각했다. 그래서 연간에는 할인을 할 수 있는 코드를 구현하고 구독 결제 주기가 월간인지 연간인지도 구분할 수 있도록 해야 했다. 그래서 결제 주기에 대한 enum부.. 2024. 11. 22. 구독 시스템 - 구독 상태 및 Entity 설계 카카오 페이 결제 시스템 구축으로 인해 결제가 가능한 서비스를 개발하게 되었다. 단순 결제를 통해 배운 트랜잭션과 격리 수준에 대해 새롭게 배우고, 결제 시스템 꼭 필요한 멱등성 관리에 대해 학습할 수 있게 되었다. 결제 시스템을 학습하다보니 단순 결제가 아니라 정기 결제도 많이 사용되고 있는데 이건 어떻게 구현할 수 있을까 생각해보다가 구현해보게 되었다. 먼저 구독은 상태 설계가 중요해보였다. 왜냐하면 상태 관리에 따라 결제가 이루어지기 때문에 현재 어떤 상태인지를 체크하고, 상태를 변경하며 관리할 수 있을까에 대해서 고민해보았다. 1. 구독 상태를 관리할 수 있는 enum을 만들어 가능한 모든 구독 상태의 경우의 수를 고려해서 설계했다. public enum SubscriptionStatu.. 2024. 11. 20. Builder 패턴 1. Builder 패턴Builder 패턴은 복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴입니다.1.1 수동 구현 예시public class User { private final String name; private final int age; private final String email; private User(UserBuilder builder) { this.name = builder.name; this.age = builder.age; this.email = builder.email; } public static class UserBuilder { private Strin.. 2024. 7. 22. 람다 표현식 함수형 인터페이스로 한정되어 사용할 수 있는 표현식.매서드 반환 타입, 메서드 이름 생략매개변수 타입 생략리턴문이 한줄만 있을 경우 중괄호와 리턴 생략, 단 ;는 붙여야 함.int add(int x, int y){ return x + y;}// 위의 메서드를 람다 표현식을 이용해 아래와 같이 단축 시킬 수 있다. (메서드 반환 타입, 메서드 명 생략)(int x, int y) -> { return x + y;};//매개변수 타입도 생략할 수 있다.(x, y) -> { return x + y;};//함수에 리턴문 한줄만 있을 경우 더욱 더 단축 시킬 수 있다. (중괄호, return 생략)(x, y) -> x + y; 함수형 인터페이스란?딱 하나의 추상 메소드가 선언된 인터페이스. 단, final 상수나.. 2024. 7. 16. 메서드 체이닝 2023. 10. 25. 이전 1 다음