@1nj3ct0r1nj3ct0r
سلام ، من هکر و برنامه نویس 15 ساله هستم که برای خودم در خانه کار می کنم! من پروژه ها را برای سرگرمی انجام می دهم!
این روزها مردم خیلی زیاد به اوه حمله می کنند ، من به طور فزاینده ای به عقیده آنها می رسم ، حداقل در پایتون. حرف من در اینجا این نیست که بحث کنم که OO فی نفسه بد است ، بیشتر اینکه معرفی آن به سادگی غیرضروری است ، AKA مفید نیست.
حدس اولی
تمام کد OO را می توان به کد غیر OO معادل تبدیل کرد که درک آن آسان یا آسان تر است.
بیایید مثالی بزنیم که باید به نفع OO باشد ، همه ما کدهایی را دیده ایم که تا حدودی مانند موارد زیر نوشته شده است:
class ApiClient:
def __init__(self, root_url: str, session_cls: sessionmaker):
self.root_url = root_url
self.session_cls = session_cls
def construct_url(self, entity: str) - str:
return f"{self.root_url}/v1/{entity}"
def get_items(self, entity: str) - List[Item]:
resp = requests.get(self.construct_url(entity))
resp.raise_for_status()
return [Item(**n) for n in resp.json()["items"]]
def save_items(self, entity: str) - None:
with scoped_session(self.session_cls) as session:
session.add(self.get_items(entity))
class ClientA(ApiClient):
def construct_url(self, entity: str) - str:
return f"{self.root_url}/{entity}"
class