
Reference 패스트캠퍼스 강의 : The Red: 25개 백엔드 개발 필수 현업 예제를 통해 마스터하는 JAVA STREAM Decorator Pattern 구조 패턴 중 하나 용도에 따라 객체에 기능을 추가(decorate)함 구현 방식 아래 두가지 기능을 포함해야 한다. - 실제 처리 기능을 포함하는 메서드 - 다음 처리자에게 넘기는 메서드 구현 코드 [ PriceProcessor.java ] interface 이며, 처리로직을 포함하는 추상 메서드, 다음 처리자로 넘기는 메서드를 포함한다. - process() : 처리 기능 로직을 포함하는 메서드 - andThen() : 다음 처리자와 연결하는 메서드 [ BasicPriceProcessor.java, DiscountPriceProcessor...

Reference - 패스트캠퍼스 "The Red: 25개 백엔드 개발 필수 현업 예제를 통해 마스터하는 JAVA STREAM" : Template Method Pattern Template Method Pattern - 행동패턴 - 상위 클래스는 알고리즘의 뼈대만을 정의하고 알고리즘의 각 단계는 하위 클래스에게 정의를 위임하는 패턴 - 알고리즘의 구조를 변경하지 않고 세부 단계들을 유연하게 변경할 수 있게 해줌 Template Method Pattern 코드 [ AbstractUserService.java ] - 알고리즘의 뼈대만을 정의한 abstract class. : 알고리즘 역할 메소드 : createUser() : 하위클래스가 작성해야 할 세부단계 메소드 : validateUser(), writ..

Reference 패스트캠퍼스 "The Red: 25개 백엔드 개발 필수 현업 예제를 통해 마스터하는 JAVA STREAM" 모던 자바 인 액션 -전문가를 위한 자바 8,9,10 기법 가이드 Strategy Pattern (전략 패턴) - 행동 패턴 중 하나 - 런타임에 어떤 전략(알고리즘)을 사용할 지 선택할 수 있게 해줌 - 전략들을 캡슐화하여 간단하게 교체할 수 있게 해줌 Strategy Pattern(전략 패턴) 구성 - 알고리즘을 나타내는 인터페이스(Strategy 인터페이스) - 다양한 알고리즘을 나타내는 한 개 이상의 인터페이스 구현 - 전략 객체를 사용하는 한 개 이상의 클라이언트 Strategy 구현 [ EmailProvider.java ] - 알고리즘을 나타내는 인터페이스 : 해당 인터..

chain of responsibility pattern : 의무 체인, 책임 연쇄 패턴 등등으로도 불린다. 작업 처리 객체의 체인(동작 체인 등)을 만들 때는 의무 체인 패턴을 사용한다. 한 객체가 어떤 작업을 처리한 다음에 다른 객체로 결과를 전달하고, 다른 객체도 해야 할 작업을 처리한 다음에 또 다른 객체로 전달하는 방식. 즉, 서로 다른 작업을 처리할 수 있는 객체를 연결시키고, 처리할 작업이 들어오면, 자신이 처리할 수 있는 일은 수행하고, 다음으로 넘기는 방식이다. 이 패턴을 공부하고 느낀점... 이러한 여러 조건을 따지고, 작업을 처리해야할 경우, 하나의 클래스에 if-else문(조건문)으로 작업을 처리했었다. 그렇기 때문에, 변경사항이 생겼을 경우, 다시 해당 코드를 지우고, 새로 작성하..

본 내용은 "박은종의 객체지향 설계를 위한 디자인패턴 with 자바" 강의를 듣고 나름대로 정리한 내용이다. Singleton 패턴 클래스에 대한 인스턴스가 단 하나만 존재하며, 해당 인스턴스에 접근할 수 있도록 제공하는 패턴 Singleton 패턴 적용 가능한 상황 - 인스턴스가 여러 개일 경우에 문제가 발생할 수 있는 것은 인스턴스를 하나만 생성하여 공유할 수 있도록 함. - 각기 다른 값을 가질 필요가 없을 때 ( Ex. new A("james"), new A("albert") 등 property 값이 여러개일 필요가 없을 때 ) - 개수가 정해져 있는 경우 ( Ex. db connection pool ... ) Singleton 패턴 특징 - 유일하게 존재하는 인스턴스로, 접근을 통제할 수 있다...

내가 고민 많이하면서 개발했던 부분에 의심이 있었는데 해당 강의를 들으면서 그래도 현재 요구사항으로써는 잘못된 설계 방법은 아니었다는 것에 인정을 받은 것 같았다... 좋았다.... ㅎㅎㅎ 대학교 때 수업들으면서 그냥 저냥 들었던게 이렇게 지금에서야 뼈저리게 다가올 줄 그땐 ...몰랐지... 중요성을 깨달았으니 다시 정리하자!! 해당 글은 "박은종의 객체지향 설계를 위한 디자인 패턴 with 자바" 1강 를 듣고 정리한 것이다. 디자인 패턴 생겨난 이유 - 소프트웨어를 재사용할 수 있고, 유연하고, 확장성 있고, 유지보수가 용이하게 만드는 것은 매우 어려운 일임 - 기술, 재능, 노력,창의성, 직관력 등등이 필요하지만, 무엇보다 경험이 중요 ※ 시스템을 개발하는 비용과 유지보수에 들어가는 비용을 비교했을..