Что такое interface embedding?

Middle
268 просмотров
AFK Offer AI

Встраивание одного интерфейса в другой: type ReadWriter interface { io.Reader; io.Writer }. ReadWriter требует все методы обоих интерфейсов. Это композиция интерфейсов — основной способ строить сложные контракты из простых. Стандартная библиотека полна примеров: io.ReadWriter, io.ReadCloser, io.ReadWriteCloser. Можно встраивать сколько угодно интерфейсов. Дублирующиеся методы (с одинаковой сигнатурой) не конфликтуют. Это поощряет маленькие интерфейсы: определи Reader и Writer по отдельности, а потом комбинируй.

Следующий вопрос

Что такое aggregate в DDD?