Интерфейс / Логика дизайна техники в с - PullRequest
1 голос
/ 06 апреля 2011

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

Используют ли программы на C обычно интерфейсы?

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

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

Является ли этот дополнительный уровень обработки данных хорошей вещью или он избыточен?

Ответы [ 2 ]

2 голосов
/ 06 апреля 2011

Используют ли программы на С обычно интерфейсы?

  • Заголовочные файлы представляют интерфейс

Это хороший способ работы?

  • ИМХО да.В объектной ориентации он называется Facade Pattern и скрывает сложность базовых компонентов.И предоставляет более простой API для клиента.

Является ли этот дополнительный уровень обработки данных хорошей вещью или он избыточен?

  • Если все не так просто, этоСтоит приложить усилия для реализации дополнительного слоя.
0 голосов
/ 06 апреля 2011

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

Однако, когда данные в вашей системе, копировать их не имеет смысла. Например, я бы не скопировал его из вашего «интерфейсного модуля» в «базовый логический модуль». Копирование данных просто замедлит работу программы без какой-либо выгоды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...