ویدیو آموزش اصول solid در پایتون(قسمت اول)
قوانین 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
حالا بهتر شد.
در کد بالا اگر برنامه نویس نیاز به تغییر در یک کلاس رو داشته باشه دیگه نگران ایجاد شدن مشکل برای بقیه کلاس ها رو نداره.
ارسال نظر