본문 바로가기

전체 글39

추상 팩토리(Abstract Factory) - 생성 패턴(Creational Patterns) 추상 팩토리 패턴은 여러 관련 개체의 그룹, 서로 다르지만 특정 주제나 시나리오에 맞는 개체들을 생성하는 인터페이스를 제공하는 디자인 패턴이다. 이 패턴은 팩토리의 팩토리라고 표현할 수 있을 정도로 구체적인 클래스에 의존하지 않고 제품의 그룹을 생성할 수 있게 해 준다. 추상 팩토리의 구성은 팩토리 메서드 패턴과 비슷하다.  Abstract Factory  : 객체의 생성을 위한 인터페이스를 정의한다. 이 인터페이스는 여러 종류의 관련 있는 제품을 생성하는 메서드들을 포함한다. Concreate Factory : Abstract Factory 인터페이스를 구현하는 클래스이다. 특정 제품 그룹을 생성한다.Abstract Product : 생성될 제품들의 공통 인터페이스다.Concreate Product :.. 2024. 5. 14.
팩토리 메서드(Factory Method) - 생성 패턴(Creational Patterns) 팩토리 메서드 패턴은 객체 생성을 위한 인터페이스를 정의한다. 하지만 실제 객체 생성은 하위 클래스가 결정하도록 위임하는 생성 패턴이다. 이 패턴은 객체를 생성하는 코드와 해당 객체를 사용하는 코드를 분리함으로써 결합도를 낮추고, 유연성 및 확장성을 향상시킨다.Product (제품): 만들어질 객체들이 공통적으로 따라야 하는 인터페이스를 정의한다.Concrete Product (구체적인 제품): Product의 규칙을 실제로 구현한 객체이다.Creator (생성자): 객체를 만드는 방법을 선언하는 역할을 하며, "어떤 종류의 제품을 만들지"에 대해 추상적으로 정의한다. 실제 구현은 하위 클래스에서 이루어진다.Concrete Creator (구체적인 생성자): Creator가 정의한 메서드를 실제로 구현한.. 2024. 5. 13.
VTER 갤럭시 80 프로 유선 블랙(VTER Galaxy 80 PRO) 커스텀 키보드에 취미가 생기면 안 되는데... 독거미 키보드를 접하고 궁금한 게 생겼다.  ' 플라스틱 하우징과 알루미늄 하우징은 얼마나 다를까? ' 어차피 저소음 라임축으로 바꾸고 남아있는 황축이 있으니 베어본을 구매해서 한번 느껴볼까라는 생각이 들었다.저렴하고 입문하기 좋은 하우징을 찾아보니 닌자 87을 많이 추천하던데 그 제품은 플라스틱이다.그런데 몬스타기어 닌자 87 정보를 찾던 와중에 닌자 87 PRO ALU라는 제품으로 신제품이 출시되었다는 게 아닌가?관심을 갖고 보는데 생각보다 가격이 세길래 포기할까 했다.그런데 갤럭시 80 프로를 택갈이해서 닌자 87 프로가 출시하는 것이라는 정보를 보게 되었다. 급하게 갤럭시 80에 대한 정보를 찾아봤다.그리고 프로유선을 구매했다. 내가 유선을 구매한 이.. 2024. 5. 12.
싱글톤(Singleton) - 생성 패턴(Creational Patterns) 가장 많이 사용하는 패턴 중 하나인 싱글톤 패턴은 특정 클래스의 인스턴스가 프로그램 전체에 하나만 존재하도록 보장하는 것이다. 싱글톤 패턴을 사용하면 동일한 개체를 여러 번 생성하지 않고 일관된 접근성을 제공할 수 있다. 클래스가 스스로 자신의 유일한 인스턴스를 관리하고 이에 대해서 전역 접근 지점을 제공하는데 주로 리소스를 공유하거나 구성을 설정하는 데 사용한다.  싱글턴에 대해 간단하게 예시로 설명하면 아파트 단지에 하나만 있는 관리사무소로 이해하면 쉬울 것 같다. 아파트단지에 공통적으로 사용하는 관리사무소는 단지 내에 유일하고, 아파트 주민들은 관리 사무소를 통해 다양한 서비스를 받는다. 이 때문에 아파트 주민들은 관리 사무소를 직접 만들거나 복제할 필요가 없고, 이미 존재하는 관리사무소를 이용하면.. 2024. 5. 10.
디자인 패턴이란 디자인 패턴이란 소프트웨어 설계 과정에서 자주 발생하는 문제들을 해결하기 위해 일반화된 재사용 가능한 솔루션을 제공하는 것이다. 특정 문제에 구체적인 코드를 제시하는 게 아니라 문제를 해결하는 방법의 템플릿을 제공하여 설계시간을 단축하고 코드의 재사용성을 높이는 것이다.  디자인 패턴은 90년대 초쯤에 등장했으며, 프로그래밍 초기에 개발자들이 비슷한 문제에 대해서 반복적으로 비슷하게 풀어가고 이를  표준화하고 체계화하여 개발자가 효율적으로 문제를 해결할 수 있도록 정의되었다  디자인 패턴을 학습하기 위해 정보를 찾다 보면 가장 먼저 GoF라는 단어를 볼 수 있는데 이는 Gang of Four의 약자인데 Erich Gammma, Richard Helm, Ralph Johnson, John Vlissides.. 2024. 5. 10.