Junghyun99 / Test

0 stars 0 forks source link

파일구조 #3

Closed Junghyun99 closed 3 weeks ago

Junghyun99 commented 1 month ago

model 디렉토리에는 주로 비즈니스 로직과 관련된 데이터 클래스 또는 데이터 구조가 위치합니다. 일반적으로 데이터의 구조와 상태를 표현하고, 애플리케이션이 사용하는 핵심 엔티티들이 여기에 포함됩니다.

예를 들어, 다음과 같은 내용이 model 디렉토리에 포함될 수 있습니다:

  1. 데이터 엔티티:

각종 데이터를 담는 클래스 (e.g., Stock, Trade, UserAccount 등).

주식 거래와 관련된 정보를 관리하는 클래스도 포함될 수 있습니다.

  1. 데이터베이스 접근 클래스:

스택 데이터 저장과 관련된 StockStackDB 같은 데이터베이스 접근 클래스.

주식 거래 기록을 관리하는 데이터 클래스.

  1. 구조적인 데이터 관리:

예를 들어, TradingRoundCalculator처럼 계산에 필요한 설정 데이터를 관리하는 클래스도 포함될 수 있습니다.

이 디렉토리는 주로 데이터 구조와 관리에 초점을 맞추고, 비즈니스 로직은 service 디렉토리에서 처리하는 것이 좋습니다.

Junghyun99 commented 1 month ago

모델 서비스 컨트롤러

Junghyun99 commented 1 month ago

project_root/ │ ├── model/ │ ├── stock_stack_db.py │ ├── trading_round_calculator.py │ └── ... (비즈니스 데이터와 관련된 파일) │ ├── service/ │ ├── trade_logger.py # TradeLogger (로그 기능) │ ├── stock_trader.py # StockTrader (트레이딩 로직) │ ├── dummy_broker_api.py # Dummy API (더미 외부 연동) │ └── ... (서비스 로직 관련 파일) │ └── main.py

Junghyun99 commented 1 month ago

logger = TradeLogger()

logger.log_transaction("Samsung", "BUY", 100, 70.5) logger.log_warning("Price is volatile") logger.log_error("Failed to execute transaction") logger.log_debug("Debugging information")

def log_transaction(self, stock_name: str, action: str, amount: int, price: float):
    message = f"{stock_name} - {action} {amount} shares at {price}"
    self.logger.info(message)

def log_error(self, message: str):
    self.logger.error(message)

def log_warning(self, message: str):
    self.logger.warning(message)

def log_debug(self, message: str):
    self.logger.debug(message)