이 프로젝트는 다양한 형식으로 데이터를 내보내는 시스템을 구현한 Python 프로젝트입니다. 세 가지 다른 접근 방식을 통해 동일한 기능을 구현하는 방법을 보여줍니다.
- 기능: if-elif-else 문을 사용한 기본적인 데이터 내보내기
- 특징:
- 각 형식별로 개별 함수 정의 (export_pdf, export_csv, export_excel, export_json)
- export_data 함수에서 조건문으로 형식 선택
- 간단하고 직관적인 구조
- 기능: 딕셔너리를 사용한 함수 매핑 방식
- 특징:
- export_functions 딕셔너리에 형식별 함수 저장
- get() 메서드를 사용한 안전한 함수 호출
- 조건문보다 깔끔한 코드 구조
- 기능: 데코레이터를 사용한 동적 함수 등록
- 특징:
- @register_exporter 데코레이터로 함수 자동 등록
- 확장성이 뛰어난 구조
- 새로운 내보내기 형식 추가가 용이
- 기능: 그룹과 이름을 가진 명령어 레지스트리
- 특징:
- @register_command 데코레이터 사용
- 그룹별 명령어 관리 가능
- 범용적인 레지스트리 패턴 구현
- Python 버전: >=3.12
- 프로젝트명: 001
- 버전: 0.1.0
모든 main 파일들은 다음 형식으로 데이터를 내보낼 수 있습니다:
- CSV
- Excel
- JSON
python main001.py # 기본 방식
python main002.py # 딕셔너리 방식
python main003.py # 데코레이터 방식이 프로젝트는 다음과 같은 설계 패턴을 보여줍니다:
- Strategy Pattern - 다양한 내보내기 전략
- Registry Pattern - 함수 등록 및 관리
- Decorator Pattern - 함수 등록을 위한 데코레이터 사용
모든 파일에서 Python의 타입 힌트를 적극 활용하여 코드의 가독성과 안정성을 높였습니다.