ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1079071 Топик полностью
Cкpипaч, пророк (21.02.2021 10:03, просмотров: 303) ответил Dingo на Вопрос в том, как каждый определяет минимально достаточный уровень слоя. Как я понимаю, если мы делаем взаимодействие с устройством, то и логика api должна исходить из логики устройства. Это очевидный момент. А вот какую часть показать пользователю?
Именно что НЕТ. 

Цитата: "Как я понимаю, если мы делаем взаимодействие с устройством, то и логика api должна исходить из логики устройства".

А я говорю - нет. Логика api должна исходить из логики ВЕРХНЕГО УРОВНЯ.


Если ваш драйвер ЭНГМД пишет на диск информацию блоками фиксированного размера по 10К,

а верхний уровень хочет писать файлы произвольного размера от 0 до 1М, то api должно строится из второй, а не из первой логики.


Если ваш графический интерфейс ПОЛЬЗОВАТЕЛЯ выводит на экран текст и растровую графику (как у меня),

то ему нахер не нужны ни "точки", ни "прямые", ни "скроллинг".

Ему нужны set_canvas_size(), put_text_xy(), put_image_xy(), clr()

И реализация этих функций на OpenGL, frame buffer или паре управляющих регистров будет отличаться НАСТОЛЬКО,

что никаких общих "промежуточных абстракций" не будет и близко!


Соответственно, я не рекомендую вообще произносить слово "минимально достаточный", в этом контексте :)

Прикладной уровень пишется В ПРИКЛАДНОЙ ТЕРМИНОЛОГИИ. Весь. И api драйверов - тоже.

А вот модули драйверов пишутся как получится так чтобы "транслировать api" в железо.

Один раз. Потому что во второй раз все будет настолько по-другому, что вам один черт

будет проще написать с нуля, чем пытаться адаптировать :)

... но не любой ценой.