[디자인 패턴] 추상 팩토리 패턴

추상 팩토리 패턴(Abstract Factory Pattern) 추상 팩토리는 팩토리 메서드 패턴을 확장한 패턴입니다. 팩토리 메서드 패턴은 객체 생성을 담당할 클래스를 인터페이스로 선언하여, 선언과 구현을 분리한 패턴입니다. 추상 팩토리 패턴의 구조 추상 팩토리는 팩토리 메서드와 비슷한 성격을 갖고 있습니다. 한 가지 다른 점은 추상 팩토리는 추상화된 객체 생성을 그룹으로 관리합니다. 추상 팩토리는 팩토리 메서드 패턴을 잘 이해하고 있다면, 쉽게 이해할 수 있습니다. 추상 팩토리 패턴: 인터페이스 클래스 팩토리 메서드와 동일하게 객체 생성을 담당할 인터페이스 클래스를 선언합니다....

November 28, 2020 · 3 min · Pacientes

[디자인 패턴] 팩토리 메서드 패턴

팩토리 메서드 패턴(Factory Method Pattern) 팩토리 메서드 패턴은 두 가지 패턴(팩토리 패턴, 템플릿 메서드 패턴)이 결합한 팩토리 확장 패턴입니다. 추상화(Abstract)는 팩토리 메서드 패턴을 구현하는데 중요한 개념입니다. 객체를 생성하는 팩토리와 객체의 대상이 되는 클래스를 각각 추상화합니다. 팩토리 메서드 패턴의 구조 인터페이스 클래스(Interface Class)는 클래스의 정의만 존재하는 클래스입니다. 클래스의 실제 구현은 인터페이스 클래스를 상속하는 세부 클래스에서 구현합니다. 팩토리 메서드는 팩토리와 생성 클래스를 인터페이스로 구현합니다. 팩토리 메서드 패턴: 인터페이스 클래스 팩토리 메서드 패턴의 인터페이스 클래스를 선언합니다....

November 27, 2020 · 3 min · Pacientes

[디자인 패턴] 싱글톤 패턴

싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 매우 인기있는 디자인 패턴 중 하나입니다. 싱글톤은 자원의 공유를 위해 오직 하나만 존재하는 객체를 의미합니다. 즉 객체의 중복 생성을 방지함과 동시에 전역으로 공유되어 어디서든 접근할 수 있습니다. 객체의 중복 생성 방지 싱글톤 패턴은 프로그램 내에서 오직 하나의 객체만 존재해야 합니다. 그렇다면 C++에서는 언제 객체가 생성될까요? 생성자를 이용하여 생성된 객체 객체를 복제하며 생성되는 객체 객체를 대입하며 생성되는 객체 C++에서는 클래스의 메서드를 정의할 때, 사용자가 정의하지 않으면 자동으로 생성하는 메서드가 존재합니다....

November 23, 2020 · 4 min · Pacientes

[디자인 패턴] 팩토리 패턴

팩토리 패턴(Factory Pattern) 팩토리 패턴은 생성 패턴 중에서도 가장 기본이 되는 패턴입니다. C++에서는 클래스의 인스턴스를 생성하기 위해서 new 키워드를 사용합니다. C++11 이상의 모던 C++(Mordern C++)에서는 객체의 생성으로 new 키워드를 사용하는 것을 추천하지 않습니다. shared_ptr이나 unique_ptr과 같은 스마트 포인터(Smart Pointer)를 사용하길 권고합니다. 일반적인 객체를 생성하는 방법은 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Sample { public: void hello() { std::cout << "Hello world" << std::endl; } }; int main() { Sample sample = new Sample(); std::shared_ptr<Sample> sample = std::make_shared<Sample>(); // 스마트 포인터 return 0; } 이렇게 객체를 생성하는 키워드 new나 C++ STL 스마트 포인터(std::make_shared<T>)를 사용하여 객체를 직접 생성하면 객체의 의존성이 발생하는 문제가 있습니다....

November 22, 2020 · 4 min · Pacientes

[디자인 패턴] 소개

디자인 패턴(Design Pattern) 디자인 패턴은 많은 개발자가 소프트웨어적인 문제를 코드로 구현할 때 적용했던 해결 방법을 패턴화하여 정리한 것입니다. 따라서 디자인 패턴은 지금도 꾸준히 발전하고 있으며 새로운 패턴들이 등장하기도 합니다. 디자인 패턴을 공부하면 좋은 점이 객체지향 개발에 도움이 되기도 하지만, 개발자 간에 의사소통에도 도움이 됩니다. SOLID 원칙 다양한 디자인 패턴들이 존재하지만, 이들의 공통점은 객체지향 개발 방법을 패턴화하였다는 점입니다. 디자인 패턴 외에도 객체지향 코드 개발 시 가급적이면 지켜야 할 원칙이 있습니다. 이러한 원칙을 SOLID 원칙이라고 부르기도 합니다....

November 21, 2020 · 2 min · Pacientes