Single Responsibility Principle

Garam·2023년 11월 14일
0

The Odin Project

목록 보기
12/14

function isGameOver() {

  // game over logic goes here!

  if (gameOver) {
    const gameOverDiv = document.createElement('div');
    gameOverDiv.classList.add('game-over');
    gameOverDiv.textContent = `${this.winner} won the game!`;
    document.body.appendChild(gameOverDiv);
  }
}

👉 DOM 분리 필요: 모든 DOM manipulation을 따로 다루는 모듈을 두는게 좋음


function isGameOver() {

  // game over logic goes here!

  if (gameOver){
    DOMStuff.gameOver(this.winner);
  }
}

👉 isGameOvergameOver의 조건이 충족되었는지를 체크하는데만 사용되어야 함. isGameOver의 리턴값을 통해 DOMStuff.gameOver(this.winner)을 다루는 것은 게임 로직을 다루는 함수가 해야할 일임.

👉 모든 객체는 가능한 한 독립적으로 만드는 것이 좋음. 그래야 수정시에 닥쳐오는 재앙을 피할 수 있음.

0개의 댓글