Re[4]: Язык С и инкапсуляция
От: v_andal Германия  
Дата: 21.05.15 07:03
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Здравствуйте, v_andal, Вы писали:


_>>А зачем собственно такой огород городить? Если задаться целью залезть в какую-то внутреннюю структуру, то с помощью дебаггера это всё равно можно сделать. Если не ошибаюсь, то основная идея сокрытия внутренней структуры в том, чтобы иметь возможность менять её не ломая при этом код пользователя. Если пользователь решил, что он хочет головной боли, то пусть играет с внутренними данными напрямую, дуракам закон не писан С этой точки зрения, указатели на некую структуру, тело которой не определено для пользователя, это более чем достаточно для "инкапсуляции".


АШ>Это своего рода файервол.


Своеобразный однако файервол. А Вы ничего не путаете? Обычно дескрипторы возникают там, где в пользовательском пространстве необходимо адресовать память из пространства ядра. Напрямую пользовательская программа не имеет доступа к пространству ядра, вот и приходится вводить дескрипторы. То есть это не способ защитить структуру, а способ предоставить доступ к области недоступной пользователю. Если структура уже находится в пространстве пользовательской программы, то смысла в дескрипторах никакого, только код усложнять, да скорость снижать. ИМХО
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.