✍🏻study/🚘oodp

    이터레이터 패턴이란❓

    이터레이터 패턴이란❓

    이터레이터 패턴 행동 패턴이란?🤔 어떤 처리의 책임을 어느 객체에 할당하는 것이 좋은지, 알고리즘은 어느 객체에 정의하는 것이 좋은지 다루는 패턴. 이터레이터 패턴이란?🤔 집합 객체를 순회하는 패턴 집합 객체의 "내부 구조"를 "노출시키지 않고", 순회하는 방법을 제공하는 패턴. 내부 구조를 들어내지 않고 클라이언트가 요소들을 순회할 수 있도록 한다. 집합 객체를 순회는 클라이언트 코드를 변경하지 않고 다양한 순회 방법을 제공할 수 있다. 집합 객체를 순회하는 다양한 방법을 지원하고 싶을 때 - 트리를 순회 방법.(ex. 중위 순회, 전위 순회, 후위 순회) - 객체의 특성에 따라 원하는 대로 Iterator를 구현하여, 순회 가능 Aggregate: 집합체를 의미하는 인터페이스. Iterator를 만들..

    브릿지 패턴이란❓

    브릿지 패턴이란❓

    구조 패턴이란❓ 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴. 예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나, 객체들을 서로 묶어 새로운 기능을 제공하는 패턴 구조 패턴 특징✌️ 서로 독립적으로 개발한 클래스 라이브러리를 마치 하나인 것처럼 사용할 수 있다. 여러 인터페이스를 “합성”하여 서로 다른 인터페이스들의 통일된 추상을 제공한다. 인터페이스나 구현을 복합하는 것이 아니라 객체를 "합성”하는 방법을 재공한다. 브릿지 패턴이란❓ 추상적인 것과 구체적인 것을 분리하여 연결하는 패턴이다. 여기서 연결이라는 표현이 브릿지를 의미한다. 추상적인 것과 구체적인 것을 구분짓는 것에 집중을 해야된다. client : abstraction을 사용하는 코드 abstrac..

    Builder패턴, 그리고 Builder annotation는 뭘까🧐

    Spring과 JPA에 대해서 공부는 해보았지만, Spring으로 프로젝트를 진행하는 것은 처음이다. 그래서 이전에 spring을 진행한 팀원의 코드를 자주 참고하는데, 그 친구가 Builder annotation을 사용해서 뭔지 공부해보려 한다. Builder annotation에 앞서 Builder패턴이 무엇인지 살펴보자!! Builder 패턴이란❓ 빌더 패턴은 생성 패턴 중 하나이다. 또, 생성 패턴은 "인스턴스"를 만드는 절차를 "추상화"하는 패턴이다. 생성 패턴을 이용하면, 무엇이 생성되고, 어떻게 결합하는지에 대한 부분을 가려준다. GoF의 빌더패턴 그중에서 빌더 패턴은 복잡한 객체를 생성하는 방법을 정의하는 클래스와 표현하는 방법을 정의하는 클래스를 별도로 "분리"하여, 서로 다른 표현이라도..

    DI가 뭔데?

    🧐 DI란❓ Dependency Injection의 줄임말이고, 한국어로는 의존성 주입이다. 그럼 의존성, 의존관계는 무엇일까? 🧐 의존성이란 ❓ B 객체가 변하면 A의 영향을 미치면, A가 B를 의존하고 있다고 말할 수 있다. B의 기능이 추가되거나 변경되거나 형식이 바뀐다면, 그 영향이 A로 전달된다는 의미이다. public class AnimalHospital{ private AnimalType animal; public AnimalHospital(){ this.animal = new Bird(); } } 위 예를 보면, AnimalHospital 객체가 AnimalType 객체에 의존성을 가진다. AnimalHospital 객체는 AnimalType을 생성자에서 직접 제어한다. 그렇기 때문에 두 ..