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

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

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

3 ответов


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

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


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

взять List например.

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

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


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