# Factory Pattern

12개의 포스트

디자인 패턴 - 팩토리 패턴

안녕하세요, 이번 시간엔 디자인 패턴 중 하나인 팩토리 패턴에 대해 알아보는 시간을 갖도록 하겠습니다. 팩토리 패턴? 팩토리 패턴(Factory Pattern)은 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴입니다. 상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가집니다. 상위 클래스에서는 인스턴스 생성 방식에 대해 전혀 알 필요가 없기에 더 많은 유연성을 갖게 됩니다. 그리고 객체 생성 로직이 따로 떼어져 있기 때문에 코드를 리팩토링하더라도 한 곳만 고칠 수 있게 되니 유지보수성이 증가합니다. 예를 들어 아이폰 레시피와 안드로이드폰 레시피라는 구체적인 내용이 들어있는 하위 클래스가 컨베이어 벨트를 통해 전달되고, 상위 클래스인 휴대폰 공장에서 이 레시피들을 토대로 휴대폰을 생산하는

2023년 8월 8일
·
0개의 댓글
·
post-thumbnail

Spring01 day 58

================================================ 스프링 설치 Help Eclipse Marketplace Find -> Spring 일반을 설치 후 Add On을 설치 [Spring 프레임워크 개요] 프레임워크 == 골격 (뼈대) -> 예시) 리모콘, 인형 개발자들끼리 기준 유지보수 용이 장점) 유지보수 용이 개발시간단축, 비용절감 개발자의 역량이 획일화 & 실력 상향 평준화 재사용 용이 스프링 프레일워크 : IoC와 AOP를 지원하는 경량의 프레임워크 ★★★ 면접 개념 -> 실습 -> 개념정리 Spring Legacy 프로젝트로 생성 com.[회사이름].app 폴더에 파랑색 불이 들어와야함 충돌 하는것들

2023년 8월 4일
·
0개의 댓글
·
post-thumbnail

Factory 생성자로 유연하게 위젯을 모듈화하기

해당 포스팅은 유튜브 영화&드라마 리뷰 영상 큐레이션 플랫폼 Plotz를 개발하면서 도입된 기술 및 방법론에 대한 내용을 다루고 있습니다. 다운로드 링크 : 앱스토어 / 플레이스토어 위에는 Plotz앱 전반에 걸쳐 자주 사용되는 위에는 2가지 형태의 `다이

2023년 6월 18일
·
0개의 댓글
·
post-thumbnail

React Hook Form 한계 극복하기

React Hook Form의 장점 ReactJS에서 사용자 입력을 관리하기 위해 React Hook Form을 사용한다. >- 사용자 입력을 관리하기 위한 다양한 도구를 제공 getter와 setter의 분리로 코드의 가독성 향상 유효성 검사를 JS로 관리하여 HTML 속성관련 보안 문제를 해결 React Hook Form의 한계 아쉽게도 사용자의 입력을 받는 Input 컴포넌트가 많아질수록 React Hook Form 역시 한계를 보여준다. 이는 validation 코드와 Input 컴포넌트 및 ErrorMessage를 렌더링하는 컴포넌트가 한 컴포넌트 내에 반복적으로 작성되어 가독성이 낮아지고 유지보수의 난이도가 올라갈 수 있다. 예시 코드 다음은 팀원님이 회원가입 기능을 구현하시고 보내주신 PR이다. 위 컴포넌트는 React Hook Form을 이용하여 구현한 회원가입이다. 유저에게

2023년 5월 1일
·
0개의 댓글
·
post-thumbnail

팩토리 패턴 (Factory Pattern) for JavaScript

팩토리 패턴 >팩토리 클래스는 객체를 생성하는 과정을 캡슐화하여 객체 생성을 추상화하는 디자인 패턴입니다. 객체를 생성하는 코들르 다른 코드와 분리시킬 수 있어 유지보수성이 높아지고 코드 재사용성도 높아집니다. 팩토리 클래스 > 객체 생성을 담당하는 클래스 객체를 생성하는 인터페이스를 정의하고 인터페이스를 구현하는 클래스를 이용하여 객체를 생성합니다. 코드에서 직접 객체를 생성하는 부분을 제거할 수 있고 팩토리 클래스에서 객체 생성에 대한 결정을 내릴 수 있습니다. 역시 이해가 잘 가지 않으니 예시 코드를 보며 살펴봅시다. 위의 코드에서 CarFactory클래스는 상위 클래스로 중요한 뼈대를 결정하고있습니다. CarFactory에서 createCar 메소드로 요청에 따라 적절한 제품 객체를 생성하고 반환합니다. 하지만 Car클래스는 구체적인 제품 객체를 생성하는 기능을 갖고 있지 않습니다. //Usage 부분을 보면

2023년 4월 13일
·
0개의 댓글
·
post-thumbnail

디자인패턴(생성패턴)-팩토리패턴

팩토리 패턴(factory pattern) 팩토리 메소드 패턴(Factory method pattern) 설명1) 팩토리 메소드 패턴은 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴. 설명2) 객체를 생성할 때 필요한 인터페이스를 만든다. 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다. 팩토리 메서드 패턴을 사용하면 클래스 인스턴스 만드는 일을 서브클래스에게 맡기게 된다.

2023년 3월 11일
·
0개의 댓글
·
post-thumbnail

[Design Pattern] Factory Pattern

✍ Factory Pattern 이란... 쉬운 이해를 돕기 위해 우선 Factory 즉 공장을 생각해보자, 공장에서는 설비만 갖쳐져 있고 생성 외에 공정은 외부에서 진행을 하게 되며 외부인들은 공장 내부에서 어떤 공정을 거쳐서 제품이 만들어졌는지 알지 못하게 된다. 이런 원리가 프로그래밍에서의 Factory Pattern에 적용 되었다고 보면된다. > 프로그램 내에서, 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이다 사실 Factory Pattern의 개념이 정립되기 이전에, 우리는 이미 많은 프로젝트 내에서 적용하고 있다는 사실을 깨달았을 수도 있다. 코드를 통해 Factory Pattern의 구조를 한 번 보고 넘어

2023년 1월 29일
·
0개의 댓글
·

[4장] Factory Pattern

Factory Pattern 객체 생성 부분을 추상화한 패턴으로, 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정한다. > OO 원칙 추상화된 것에 의존하게 만들고, 구상 클래스에 의존하지 않게 만든다. >Dependency Inversion Principle(의존성 역전 원칙) > - 변수에 구상클래스의 레퍼런스를 저장하지 않는다. > - 구상클래스에서 유도된 클래스를 만들지 않는다. > - 베이스 클래스에 이미 구현되어 있는 클래스를 오버라이드 하지 않는다. 피자 가게 운영 코드 피자 종류에 따라 객체를 생성하고, 그에 맞게 피자를 만드는 코드 기존 코드 PizzaStore은 Pizza 객체에 직접 의존한다. -> Pizza 객체가 수정되면 PizzaStore까지 수정해야할 수 있다. 구상클래스를 많이 사용하면 클래스가 추가될 때마다

2022년 7월 10일
·
0개의 댓글
·
post-thumbnail

Factory Pattern

프로그래밍에는 다양한 디자인 패턴이 존재한다. MVC, MVP, MVVM, Singleton, Factory Pattern... 등등 오늘은 가장 최근 구현해본 "팩토리 패턴" 에 대하여 정리해보는 시간을 갖겠다. Factory Pattern? 팩토리 패턴은 객체의 생성을 팩토리 클래스 흑은 팩토리 메소드를 통해 수행하는 것이다. 결합도는 낮춘다는 기본적인 코딩 규칙에 좀 더 가깝게 해주는 것 같다. 객체의 생성을 팩토리가 담당해주기 때문에 객체 생성에 필요한 조건들이나 데이터들이 변경되어도 팩토리의 로직만 수정해주면 되기 때문에 클래스 간 의존성을 줄여주고 자연스럽게 유지보수를 용이하게 해준다. A 클래스는 Factory 클래스에 Sub클래스 생성에 필요한 type 등의

2022년 1월 17일
·
0개의 댓글
·
post-thumbnail

[디자인 패턴] Factory pattern in Swift

목차로 돌아가기 소개 팩토리 또는 팩토리 메서드 패턴 (Factory pattern or factory method pattern)은 생성 관점의 디자인 패턴 (Creational design patterns)의 일종으로, 인스턴스 생성을 팩토리 타입의 메서드에 위임하는 방식으로 개발자들에게 이용하는 타입에 대한 정보를 숨기고 인스턴스 생성을 용이하게 해줍니다. Example 가정 현재 개발 중인 앱에는 자주 사용되는 UI 요소들을 커스터마이징한 커스텀 UI 타입이 있습니다. 패턴을 적용하지 않은 경우 각 타입에는 이니셜라이저를 통해 기본으로 설정된 값도 있고, 그렇지 않은 경우도 있습니

2021년 9월 20일
·
1개의 댓글
·

[Javascript] ES6 생성 패턴

1. 생성자 패턴 (Consturctor Pattern) class 를 이용한 생성 2. 팩토리 패턴 (Factory Pattern) 클래스가 객체를 생성 (class 안에 new) 3. 프로토타입 패턴 (Prototype Pattern) 템플릿 기반으로 새로운 객체를 생성 (Object의 create()를 이용해 구현) 4. 싱글톤 패턴 (Singleton Pattern) 하나의 객체만 생성하는 목적으로 사용 ex) 디비 커넥션처럼 한 시스템에서 매번 커넥션을 연결할 필요가 없을 때 5. 빌더 패턴 (Builder Pattern) 체이닝 형태를 유지하여 확장성 있는 객체를 생성 (this 반환) 출처: http://blog.naver.com/PostView.nhn?blogId=pjt3591oo&logNo=222351379222&parentCategoryNo=&categoryNo=11&viewDate=&isShowPopularPo

2021년 6월 6일
·
0개의 댓글
·

Factory Pattern

흔히 말하는 팩토리 패턴(Factory Pattern)에는 팩토리 메소드 패턴(Factory Method Pattern)과 추상 팩토리 패턴(Abstract Factory Pattern) 두 가지 패턴이 있습니다. 이 패턴들에 대해 오늘 순서대로 알아보겠습니다. 팩토리 패턴(Factory Pattern)의 필요성 new를 사용하는 것은 구상 클래스의 인스턴스를 만드는 것입니다. 구상 클래스를 바탕으로 코딩을 하면 나중에 코드를 수정해야할 가능성이 높아지고, 유연성이 떨어지게 됩니다. 그 예가 아래와 같습니다. code reference 구상 클래스를 사용하면 아래처럼 조건에 따라 만들려고 하는 구상 클래스를 명시해줘야 합니다. 이는 뭔가 변경하

2021년 5월 31일
·
0개의 댓글
·