Size: a a a

2020 July 14

q

quavo in archlinux_ru
Alexander N
Иногда композиция вообще лучше наследования конечно
Это да
источник

JC

Julian =) Coffee in archlinux_ru
Я покажу как
источник

q

quavo in archlinux_ru
Julian =) Coffee
Ну сделай пример, где без этого никак
Я с мобилы
источник

q

quavo in archlinux_ru
Ща
источник

AN

Alexander N in archlinux_ru
В плюсах кстати нет интерфейсов, но никто не мешает делать типа
class IMailer {
   virtual bool send(...) = 0;
   virtual ~IMailer();
};
источник

AN

Alexander N in archlinux_ru
Я так помню, что есть empty base optimization, поэтому инстанс класса  такого не существует
источник

q

quavo in archlinux_ru
Julian =) Coffee
Я покажу как
class BaseRepository:
   def __init__(self, conn):
       self.conn = conn

class UserRepository(BaseRepository):
       pass
источник

q

quavo in archlinux_ru
Сука
источник

q

quavo in archlinux_ru
Попало все с мобилв
источник

JC

Julian =) Coffee in archlinux_ru
Напомни зачем нам нужен BaseRepository?
источник

q

quavo in archlinux_ru
Ну это бля на скорую руку сука
Позже покажу чет нормальное, я не могу с мобилв
источник

q

quavo in archlinux_ru
Julian =) Coffee
Напомни зачем нам нужен BaseRepository?
Ну короче
источник

q

quavo in archlinux_ru
Если вдругв в наши репозитории надо переделать что-то новое, дополнить их
источник

q

quavo in archlinux_ru
То через наследование ты сможешь это сделать одной строкой кода
источник

JC

Julian =) Coffee in archlinux_ru
@dataclass
class UserRepository:
     conn: str

vs

class UserRepository(BaseRepository):
     pass

Первый случай читабельнее, понятнее, строчки короче
источник

q

quavo in archlinux_ru
Julian =) Coffee
@dataclass
class UserRepository:
     conn: str

vs

class UserRepository(BaseRepository):
     pass

Первый случай читабельнее, понятнее, строчки короче
Блин, вот плохой пример я показал
источник

q

quavo in archlinux_ru
Забей короче
источник

q

quavo in archlinux_ru
Я же говорю, я с мобилы
источник

JC

Julian =) Coffee in archlinux_ru
Все, что дает наследование это возможность эмбедить поля.
Композиция дает нам это делать? Дает.
Читабельнее это будет выглядеть? Как минимум явнее.
Проще будет понимать MRO? Конечно.
источник

q

quavo in archlinux_ru
Ладно, подожди
источник