nonoのポートフォリオサイト

SOLIDの原則

SOLIDの原則1 単一責任の原則

全てのモジュールとクラスは、一つの役割を提供して責任をもつべきとする原則です。


サンプルコード

ユーザ情報を保持するデータクラスと、それに対する処理(以下の例では出力)をするクラスを分けます。


    class UserInfo(object):
    """ユーザ情報を保持する"""

    def __init__(self, name, age, phone_number):
        self.name = name
        self.age = age
        self.phone_number = phone_number

    def __str__(self):
        return "{} {} {}".format(
            self.name, self.age, self.phone_number
        )

    class FileManager(object):

    @staticmethod
    def write_str_to_file(obj, filename):
        with open(filename, mode='w') as fh:
            fh.write(str(obj))

def main():
   user_info = UserInfo('Taro', 21, '000-000-0000')
   print(user_info)

   #write to file. インスタンスを作る必要はない。
   FileManager.write_str_to_file(user_info, 'temp.txt')

if __name__ == '__main__':
    main()