개발이슈/디자인패턴

멀티스레드 환경에서 안전한 Step Builder 패턴 이해하기 코딩을 배우면서 'Step Builder 패턴'이라는 용어를 접하실 수 있습니다. 특히 많은 데이터를 한 번에 다루어야 하는 복잡한 객체를 생성할 때 이 패턴이 유용합니다. 그러나 멀티스레드 환경에서는 이 패턴을 좀 더 주의 깊게 사용해야 합니다. 멀티스레드란, 컴퓨터가 동시에 여러 작업을 처리하는 것을 의미합니다. 웹사용 환경을 생각 하시면 편하죠. Step Builder 패턴이란? Step Builder 패턴은 객체를 단계별로 구성하는 방법입니다. 레고 블록을 차례대로 쌓아 올리는 것처럼, 각 단계에서 필요한 부분을 추가해 최종적인 객체를 완성합니다. 이 방식은 코드의 가독성을 높이고 실수를 줄이는 데 도움이 됩니다. 멀티스레드 환경에서..
공통 인터페이스 개발중에, rest통신쪽 개발을 맡게 되어 아래와 같은 조건이 필요 했다. 1. rest api 호출전에 header를 생성해야 한다. 2. 그 후 payload 를 생성 한다. 3. payload로 요청을 날린다. 4. 각 비지니스 타입에 맞게 Dto에 담아서 json객체를 Parsing 해준다. 먼저 stepBuilder pattern에 대해 검색해보면. 아래와 같이 정리할 수 있다. Step Builder 패턴은 객체 생성 과정을 단계별로 나눠서 처리할 수 있게 하는 디자인 패턴이다. 특히 복잡한 객체를 구축할 때, 필요한 조건이나 순서에 따라 생성 과정을 조절해야 할 때 유용하게 사용할 수 있다. Builder 패턴의 기본 아이디어는 객체 생성을 별도의 Builder 클래스에 위임..
Director class를 이용해 객체 생성을 client 에서는 숨길수 있다. Director역할. package builder.after; import java.time.LocalDate; public class TourDirector { //빌더를 이용한 객체 생성 팩토리 역할 (Director) //클라이언트에서는 객체생성 부분을 숨김수 있음. TourPlanBuilder builder = new DefaultTourBuilder(); public TourPlan koreaTrip() { return builder.title("한국") .startDate(LocalDate.of(2022, 1, 1)) .getPlan(); } public TourPlan cancunTrip() { return b..
팩토리 메소드 패턴과 유사하지만 클라이언트라는 개념이 추가로 존재. Factory 에 해당 하는 부분에서 객체 생성시 구체적인 클래스를 의존하지 않도록 추상화된 클래스를 주입 받도록 한다. - Client public class Client { public static void main(String[] args) { //intel brand로 주문 NoteBookFactory intelNotebookFactory = new NoteBookFactory(new IntelPartsFactory()); Computer intelComputer = intelNotebookFactory.createNoteBook(); System.out.println(intelComputer.showInfo()); //amd b..
kalkin
'개발이슈/디자인패턴' 카테고리의 글 목록