Дан абстрактный интерфейс. Единственный ключ к необходимости обеспечить собственную реализацию заключается в том, чтобы НЕ находить фабричную функцию?

По общему признанию довольно теоретический вопрос.

И я хотел бы спросить об этом больше с точки зрения разработчика библиотеки, чем пользователя библиотеки.
Хотя цель состоит в том, чтобы обеспечить максимально простой дизайн для пользователя.

Есть ли какие-либо рекомендации / рекомендации о том, как пользователь должен постоянно реализовывать данный интерфейс? Или что где-то есть фабричные функции, создающие разумные объекты, реализующие этот интерфейс?

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

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

Ответ лежит в комментариях, документации или коде?

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

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]