Каково определение детали реализации? [закрытый]

Я вижу этот термин в Интернете много (на самом деле, введение его на Google возвращает много результатов).

Каково точное определение "детали реализации"?

27
задан Tsyvarev 26 June 2019 в 22:50
поделиться

3 ответа

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

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

27
ответ дан 28 November 2019 в 04:52
поделиться

«Детали реализации» - это решение, которое остается за разработчиками и не указывается на более раннем уровне (например, в документе с требованиями или, в зависимости от контекста, в архитектурном документ.)

10
ответ дан 28 November 2019 в 04:52
поделиться

Я не знаю точного формального определения термина «деталь реализации», обычно он относится к конкретной реализации определенной спецификации.

Возьмите Список , например.

В спецификации List может быть сказано, что «он может хранить несколько значений с дубликатами при сохранении порядка».

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

21
ответ дан 28 November 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: