🏭 팩토리 패턴 (Factory Pattern)
·
Computer Science/Design Pattern
객체의 생성(create) 과정을 전담하는 클래스(공장)를 만들어, 객체 생성을 사용하는 코드로부터 분리/추상화하는 디자인 패턴입니다.팩토리(Factory), 즉 '공장'이라는 이름처럼, 객체를 직접 new로 만드는 것이 아니라 '공장'에 요청하여 객체를 받아오는 방식입니다.핵심 정의: 객체를 사용하는 코드(클라이언트)에서 객체 생성 코드를 분리(추상화)하는 패턴입니다.패턴 방식: 상속 관계에 있는 두 클래스에서, 상위 클래스(추상 클래스)가 인터페이스와 같은 중요한 뼈대를 결정하고, 하위 클래스(구현 클래스)가 객체 생성에 관한 구체적인 내용을 결정합니다.👍 팩토리 패턴의 장점느슨한 결합 (Loose Coupling): 객체를 사용하는 상위 클래스와 객체를 생성하는 하위 클래스가 분리됩니다. 이로 인..
💡 싱글톤 패턴 (Singleton Pattern)
·
Computer Science/Design Pattern
하나의 클래스에 오직 하나의 인스턴스(객체)만 가지도록 보장하는 패턴입니다.하나의 클래스를 기반으로 여러 개의 개별 인스턴스를 만들 수 있지만, 그렇게 하지 않고 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈처럼 프로그램 전체에서 유일해야 하는 객체에 사용됩니다. 📁싱글톤 패턴 요약 (ft. 얄코 버거 🍔)영상(링크)에서는 싱글톤 패턴을 '얄코 버거' 프랜차이즈에 비유하여 설명합니다. 1. 클래스와 객체 (프랜차이즈 본사 vs 개별 매장)클래스 (Class): '얄코 버거'라는 프랜차이즈 본사(설계도) 자체입니다.인스턴스 객체 (Instance): 본사의 설계도를 바탕으로 여기저기 생긴 개별 매장입니다.인스턴스 변수 (Instance Field): ..
👨‍💻 디자인 패턴과 주요 원칙
·
Computer Science/Design Pattern
개발을 시작할 때 우리는 '도구'를 사용합니다. 이 도구는 크게 라이브러리와 프레임워크로 나뉩니다. 둘 다 "공통 기능들의 모음"이지만, 가장 큰 차이점은 '제어권'이 누구에게 있느냐입니다.📚 라이브러리 (Library)정의: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것입니다.특징: 개발자가 코드의 전체 흐름을 주도합니다. 개발자는 필요할 때마다 라이브러리를 호출(Call)해서 사용합니다.규칙: 폴더명, 파일명 등에 대한 특별한 규칙이 없어 상대적으로 자유롭습니다.비유: 필요할 때마다 꺼내 쓰는 '망치'나 '드라이버' 같은 연장통입니다.🏗️ 프레임워크 (Framework)정의: 프로그램의 기본 구조(뼈대)가 이미 잡혀있는 반제품 형태의 모듈입니다.특징: 프레임워크가 코드의 흐름을 주도합니다...