• В чем разница между 'фабричным методом' и 'простой фабрикой'?

    Adamos
    @Adamos
    В вашем же примере единственное назначение класса фабрики - создание подклассов в одном методе.
    А классы с фабричным методом умеют свой функционал ПЛЮС могут вернуть себя единообразным для всех них образом. Причем этот самый метод getMobile может заодно участвовать и в других методах того же класса, когда ему понадобилось создать клона, например.

    Самая большая разница, на самом деле, будет даже не в коде этих классов или фабрики, а в том коде, который использует тот или иной паттерн извне. С фабрикой вы должны создавать всех наследников в одном месте и знать о них. С фабричным методом они могут приходить откуда угодно, и все, что вам нужно о них знать - это то, что они реализуют тот самый фабричный метод.

    Паттерны - это же не о классах, а о взаимодействии между ними и уменьшении связности.
    Ответ написан
    Комментировать