Size: a a a

Software Design/Architecture/Zen

2016 December 07

SP

Sergey Protko in Software Design/Architecture/Zen
ради бога
источник

SP

Sergey Protko in Software Design/Architecture/Zen
не наследуйся от доктриновского репоса
источник

SP

Sergey Protko in Software Design/Architecture/Zen
он не для этого сделан
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
он может быть вполне себе абстрактным
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
и тогда ну просто вынужден
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
хоть сальто делай, а передать его не могу, только наследника)
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
ну просто профита от того, что я явно привяжусь к классу в конструкторе или в иерархии особо нет
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
ибо к интерфейсу привязаться все равно не могу
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
и мокать все равно придется со всем говном, что оно там несет в себе
источник

SP

Sergey Protko in Software Design/Architecture/Zen
final class Catalog
{
    private $repository;

    public function __construct(EntityRepository $repository)
    {
         $this->repository = $repository;
    }

    public function add(Product $product)
    {
    }
}
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и пусть в EntityRepository будут дефолтные методы аля find или add или remove
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а конкретика в Catalog
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и опять же никакого наследования
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и кода столько же
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и руки развязаны
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и цепочка связанности прервана
источник

SP

Sergey Protko in Software Design/Architecture/Zen
наша бизнес логика ничего не будет знать о EntityRepository
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
ну опять же, если EntityRepository абстрактный, то у тебя все равно всплывет его наследник)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
он не абстрактный
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
так она итак не будет знать же?
источник