Являются ли композиции и фасады одним и тем же в питоне?

  1. В контексте Python композиции и фасады — это одно и то же. Я знаю, для чего используется шаблон проектирования фасада, но просто хотел убедиться, могу ли я назвать свой класс, реализующий фасад, композицией?

  2. Могу ли я сказать то же самое и о классе-примеси, или это просто другой зверь, все вместе имеющий большую близость к множественному наследованию и решающий какую-то другую проблему, а не фасад?

  3. Можем ли мы условно назвать композицию в Python эквивалентом интерфейсов в Java, или это утверждение совершенно неуместно.

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


person Vivek Jha    schedule 19.09.2013    source источник
comment
Композиция — это когда один класс содержит элементы, являющиеся экземплярами других классов. Термин Facade обычно означает, что вы инкапсулируете много логики за открытыми членами класса. Обратите внимание, что у вас может быть композиция без Фасада, если все члены композиции являются общедоступными. Я не буду вдаваться в достоинства Фасада без достоверности композиции, потому что это семантический лабиринт. Кстати, композиция и интерфейсы — это два разных зверя, даже если рассматривать только Java или только Python.   -  person Geeky Guy    schedule 20.09.2013


Ответы (1)


Как указано выше:

Композиция — это когда один класс содержит элементы, являющиеся экземплярами других классов. Термин Фасад обычно означает, что вы инкапсулируете много логики за открытыми членами класса. Обратите внимание, что у вас может быть композиция без Фасада, если все члены композиции являются общедоступными. Я не буду вдаваться в достоинства Фасада без достоверности композиции, потому что это семантический лабиринт. Кстати, композиция и интерфейсы — это два разных зверя, даже если рассматривать только Java или только Python.

person Community    schedule 01.10.2014