Menu
Coddy logo textTech

単一責任

Coddyの「Clean Code - Pythonでより良いコードを書く」コースのレッスン 22/28。

「クラスを変更する理由は、常に1つだけでなければならない。」

単一責任の原則(SRP)は、すべてのクラスと関数は、たった1つの役割、または変更するためのたった1つの理由を持つべきであると述べています。

目標 -

  • 凝集度が高く、堅牢なクラスと関数を作成する。
  • クラスの合成を促進する。
  • コードの重複を避ける。
challenge icon

チャレンジ

中級

Personクラスが与えられており、その中には人をデータベースに保存するためのsaveメソッドがあります。

与えられたコードでは、このクラスには2つの責務があります:

  1. Personオブジェクトの作成と管理
  2. 人をデータベースに保存する

あなたのタスクは、Person1つの責務のみを持つようにすることです。

  • saveメソッドを持つDatabaseクラスを作成してください。
  • PersonDatabaseの間の接続を作成してください。

このタスクを実行するためのオプションはたくさんありますが、特定の1つを目指しています。必要に応じてヒントを使用してください!

Database用に別のクラスを作成すると、すべての"Database related"な事柄を1か所で管理できることに注意してください!

自分で試してみよう

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

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

Clean Code - Pythonでより良いコードを書くのすべてのレッスン