Возможна ли инкапсуляция без ООП? - PullRequest
0 голосов
/ 04 октября 2018

Мне задали вопрос в интервью: возможна ли инкапсуляция без ООП, например, на процедурном языке?

1 Ответ

0 голосов
/ 09 октября 2018

Боб Мартин заявил, что инкапсуляция не только возможна без ООП, но была лучше до появления ООП.

Вот выдержка из talk он дал в 2014 году в Йельской школе менеджмента.

У нас была идеальная инкапсуляция.В C все, что вам нужно было сделать, это заранее объявить ваши функции и структуры данных.Вам не нужно было их реализовывать.Вы должны были бы объявить их в заголовочном файле, а затем реализовать их в C-файле.Ваши пользователи будут #include ваш заголовочный файл.Они ничего не могли видеть в вашей реализации.Идеальная инкапсуляция.Никто из ваших пользователей не мог увидеть какие-либо значения ваших данных.Все, что они могли видеть, это ваши подписи функций.Они могли видеть имена ваших структур данных, но ни один из членов внутри ваших структур данных.Абсолютно идеальная инкапсуляция.

...