Menu
Coddy logo textTech

단일 책임 원칙

Coddy의 Clean Code - Python으로 더 나은 코드 작성하기 코스 레슨 — 28개 중 22번째.

"클래스를 변경해야 하는 이유는 단 하나뿐이어야 합니다."

단일 책임 원칙(SRP)은 모든 클래스와 함수가 단 하나의 책임 또는 변경해야 할 단 하나의 이유만을 가져야 한다는 원칙입니다.

목표 -

  • 응집도가 높고 견고한 클래스와 함수를 생성합니다.
  • 클래스 합성을 촉진합니다.
  • 코드 중복을 방지합니다.
challenge icon

챌린지

중급

Person 클래스와 사람 정보를 데이터베이스에 저장하는 save 메서드가 주어집니다.

주어진 코드에서 이 클래스는 두 가지 책임을 가지고 있습니다:

  1. 사람 객체 생성 및 관리
  2. 사람 정보를 데이터베이스에 저장

여러분의 과제는 Person 클래스가 오직 하나의 책임만 갖도록 만드는 것입니다.

  • save 메서드를 가진 Database 클래스를 생성하세요.
  • PersonDatabase 사이의 연결을 만드세요.

이 과제를 수행하는 방법은 여러 가지가 있지만, 우리는 특정한 한 가지 방법을 목표로 합니다. 필요할 때 힌트(hints)를 사용하세요!

데이터베이스를 위한 별도의 클래스를 만들면 모든 "Database related" 작업을 한 곳에서 관리할 수 있다는 점에 유의하세요!

직접 해보기

class Person:
    def __init__(self, name):
        self.name = name

    def save(self):
        print('Saving person with name "%s"' % self.name)

Clean Code - Python으로 더 나은 코드 작성하기의 모든 레슨