본문 바로가기

전체 글

(173)
구조 관련 디자인 패턴 > 브릿지 패턴(Bridge Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 브릿지 패턴 구조 관련 디자인 패턴. 예제는 챔피언과 스킨으로 분리하여 연결하는 것이었다. 추상적인 것과 구체적인 것을 분리하여 연결하는 패턴. 하나의 계층 구조일 때 보다 각기 나누었을 때 독립적인 계층 구조로 발전시킬 수 있다. 브릿지 패턴을 사용하지 않고 하나의 계층구조로 코드를 작성하면, 계층 구조가 커지고, 다른 클래스와 닮아있고, 여러 조합이 생기고, 중복코드가 많은 것 같은 느낌을 줄..
구조 관련 디자인 패턴 > 어댑터 패턴(Adapter Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 어댑터 패턴 구조 관련 디자인 패턴. 기존 코드를 클라이언트가 사용하는 인터페이스의 구현체로 바꿔주는 패턴. 클라이언트가 사용하는 인터페이스를 따르지 않는 기존 코드를 재사용할 수 있게 해준다. 라이브러리를 랩핑할 때 자주 사용하는 패턴이다. 클라이언트가 Target이라는 인터페이스를 의존하고 있다. 기존 코드인 Adaptee가 이 Target을 실체화하고 있지 않아 클라이언트가 Adaptee를 ..
객체 생성과 관련 디자인 패턴 > 프로토타입 패턴(Prototype Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 프로토타입 패턴 객체 생성 관련 디자인 패턴. 기존 인스턴스를 복제하여 새로운 인스턴스를 만드는 방법. 복제 기능을 갖추고 있는 기존 인스턴스를 프로토타입으로 사용해 새 인스턴스를 만들 수 있다. Basic implementation Prototype registry implementation 프로토타입 패턴의 장점 1. 복잡한 객체를 만드는 과정을 숨길 수 있다. 2. 기존 객체를 복제하는 과정..
객체 생성과 관련 디자인 패턴 > 빌더 패턴(Builder Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 빌더 패턴 객체 생성 관련 디자인 패턴. 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법. 복잡한 객체를 만드는 프로세스를 독립적으로 분리할 수 있다. 인스턴스의 세부 설정들을 다양한 구성으로 생성할 수 있는데 이 방법을 동일 프로세스로 설정할 수 있다. Before 코드로 보는 빌더 패턴의 필요성 1. 사용자가 일부만 설정하여 불완전한 인스턴스가 생성될 가능성이 있다. 여행 계획의 ..
객체 생성과 관련 디자인 패턴 > 추상 팩토리 패턴(Abstract Factory Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 추상 팩토리 패턴 객체 생성 관련 디자인 패턴. 서로 관련있는 여러 객체를 만들어주는 인터페이스. 구체적으로 어떤 클래스의 인스턴스를 사용하는지 감출 수 있다. 클라이언트 코드에서 구체적인 클래스의 의존성을 제거한다. 구체적인 팩토리에서 구체적인 인스턴스를 만드는 것까지는 팩토리 메서드 패턴과 굉장히 유사하지만, 초점이 팩토리를 사용하는 클라이언트 쪽에 있다. 추상 팩토리 패턴의 목적은 팩토리에서..
객체 생성과 관련 디자인 패턴 > 팩토리 메서드 패턴(Factory Method Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 팩토리 메서드 패턴 객체 생성 관련 디자인 패턴. 다양한 구현체가 있고, 그 중에서 특정한 구현체를 만들 수 있는 다양한 팩토리를 제공할 수 있는 패턴이다. 구체적으로 어떤 인스턴스를 만들지는 서브 클래스가 정한다. 어떤 인스턴스를 생성하려는 책임을, 구체적인 클래스가 아니라, 추상적인 인터페이스의 메서드로 감싸기 위한 패턴이다. 팩토리 역할을 할 Creator 인터페이스를 만들고, 이 인터페이스..
객체 생성과 관련 디자인 패턴 > 싱글톤 패턴(Singleton Pattern) https://inf.run/6Shr 코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의 디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 www.inflearn.com 싱글톤 패턴 객체 생성 관련 디자인 패턴. 인스턴스를 오직 한 개만 제공하는 클래스. 시스템 런타임, 환경 세팅에 대한 정보 등, 인스턴스가 여러 개일 때 문제가 생기는 경우 싱글톤 패턴을 사용한다. 인스턴스를 오직 한 개만 만들어 글로벌하게 접근할 수 있는 클래스가 필요한 경우 싱글톤 패턴을 적용한다. 가장 간단하게 구현한다면 private 생성자와 public static 메서드를 사용하여 구..
15 CHAPTER 디자인 패턴과 프레임워크 https://wikibook.co.kr/object/ 오브젝트: 코드로 이해하는 객체지향 설계 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라! 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 wikibook.co.kr 디자인 패턴을 익히고 나면 변경의 방향과 주기를 이해하는 것만으로도 필요한 역할과 책임, 역할들의 협력 방식을 순간적으로 떠올릴 수 있게 된다. 디자인 패턴이 설계를 재사용하기 위한 것이라면 프레임워크는 설계와 코드를 함께 재사용하기 위한 것이다. 프레임워크는 애플리케이션의 아키텍처를 구현 코드의 형태로 제공한다. 프레임워크는 각 애플리케이션 요구에 따라 적절하게 커스터마이징할 수 있는 확장 포인트를 제..