Рубрики
Design

Дайте мне точку опоры — абстракция, контракт, интерфейс, спецификация

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

В продолжение /ru/software-engineering-origins-intro/.

TODO: Интерфейс — как способ взаимодействия двух контрагентов. Который «стирает» их детали (абстракция), обобщая общее (намеренная тавтология). Контрагенты здесь упомянуты нарочно, поскольку суть интерфейса очень похожа на контракт.

TODO:Примеры абстракций для реальных контрактов. Сумма договора, дата, ответсвенности сторон, форс-мажор. Вообще, контракт (в смысле договора) очень хороший пример, на базе которого можно всё разобрать. Люди могут говорить на разных языках, оперировать разными валютами и в целом могут сильно отличаться.

TODO:Ещё один пример абстракции — простой магазин. Он, по сути, является простым примером контракта. «Стоит только мерчандайзеру поменять расположение полок с товарами…».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *