آموزش اصول solid در پایتون(قسمت اول)

February 2020

قوانین solid در سال ۲۰۰۰ توسط رابرت مارتین ایجاد شد. این پنج قانون در برنامه نویسی شی گرا برای ایجاد کردن برنامه های قابل فهم تر، مقیاس پذیرتر و انعطافتر توسط برنامه نویس ها استفاده میشود.

در این مقاله اولین قانون از این پنج قانون رو بررسی میکنیم:

Single responsibility principle

به طور خلاصه این قانون میگه که هر کلاس باید فقط و فقط مسئول انجام دادن یک کار باشه. در نتیجه هر کلاسی فقط برای تغییر وظیفه خودش دستخوش تغییر خواهد شد. کلاس ها میتوانند ویژگی ها مختلفی داشته باشند اما تمام این ویژگی ها باید مربوط به وظیفه اصلی کلاس باشند.

در کد زیر یک کلاس داریم که اسم و سن افراد رو میگیره و ذخیره میکنه

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

    def show(self):
        return f'{self.name} is {self.age} years old'

    def db_save(self):
        pass

در تصویر بالا میبینید که کلاس Person علاوه بر اینکه مسئول مدیریت کردن ویژگی های افراد هست، وظیفه اتصال به دیتابیس و ذخیره اطلاعات رو هم داره. این کد قانون تک مسئولیتی رو نقض کرده.

برای حل این مشکل این کد رو به دو کلاس مجزا تقسیم میکنیم:

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

    def show(self):
        return f'{self.name} is {self.age} years old'


class Db:
    def db_save(self):
        pass

حالا بهتر شد.
در کد بالا اگر برنامه نویس نیاز به تغییر در یک کلاس رو داشته باشه دیگه نگران ایجاد شدن مشکل برای بقیه کلاس ها رو نداره.

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید