В контексте Python композиции и фасады — это одно и то же. Я знаю, для чего используется шаблон проектирования фасада, но просто хотел убедиться, могу ли я назвать свой класс, реализующий фасад, композицией?
Могу ли я сказать то же самое и о классе-примеси, или это просто другой зверь, все вместе имеющий большую близость к множественному наследованию и решающий какую-то другую проблему, а не фасад?
Можем ли мы условно назвать композицию в Python эквивалентом интерфейсов в Java, или это утверждение совершенно неуместно.
PS: я хочу, чтобы мое приложение предоставляло стандартный интерфейс для клиентов, но точная реализация внутри кишки будет постоянно меняться по мере того, как мы получаем больше пропускной способности разработки. Поскольку клиент будет использовать этот класс для дальнейшей разработки, я не хочу, чтобы его код сломался, если мы внесем какие-либо изменения на стороне реализации. Я хочу исправить мою путаницу в жаргоне, прежде чем я начну проект.
Facade
обычно означает, что вы инкапсулируете много логики за открытыми членами класса. Обратите внимание, что у вас может быть композиция без Фасада, если все члены композиции являются общедоступными. Я не буду вдаваться в достоинства Фасада без достоверности композиции, потому что это семантический лабиринт. Кстати, композиция и интерфейсы — это два разных зверя, даже если рассматривать только Java или только Python. - person Geeky Guy   schedule 20.09.2013