Как узнать, что такое заглушка?
Всегда ли заглушка означает одно и то же, когда вы пишете программы?
"Заглушки предоставляют заменяющие реализации для объектов, методов или функций для удаления внешних зависимостей. Заглушки, как правило, используются во время модульного и компонентного тестирования. Если вы пытаетесь написать модульный тест и вам необходимо заменить простой вызов базы данных, внешние библиотеки (например, файловый ввод / вывод) или другой системный API, заглушка может быть идеально подходит для ваших нужд ".
Я думал, что заглушка и скелет были только в CORBA, но здесь заглушка, и это одно и то же? Совпадение или связь, когда слово "заглушка" появляется в довольно разных моделях программирования (RMI и MIPS, предположительно, 2 довольно разные), оба имеют концепцию / вещь, называемую "заглушка", и я также знаю, что для RMI / CORBA есть нечто, называемое скелет но также возможно иметь заглушку без каркаса или как?
Например, когда main переводится в сборку, он называется здесь шипом, и есть ли соединение с этим заглушкой и каркасом, которые используются в сетевом программировании, такие как CORBA, или это соединение отсутствует, несмотря на то, что оба они называются заглушкой?
movia r8,stub # source
movia r9,0x800020 # destination
ldw r10,0(r8) # read
stw r10,0(r9) # write
ldw r10,4(r8) # read part 2
stw r10,4(r9) # write
ldw r10,8(r8) # read jump
stw r10,8(r9) # write
... # initialize others
Код выше - пример заглушки? Если это так, что будет скелет или это не применимо?
Спасибо за информацию.
1 ответ
Заглушка CORBA и RMI - это довольно специфический объект, который локально представляет определенный удаленный объект. Этот объект существует на стороне сервера, а заглушка существует на стороне клиента. Заглушка реализует тот же интерфейс (имеет те же методы работы), перенаправляя все вызовы удаленному объекту, а также получая возвращенные результаты и исключения. Класс заглушки обычно часто генерируется автоматически.
У заглушки вообще есть другое значение (то, что только наполовину закончено, часто просто достаточно, чтобы код компилировался, но не работал должным образом).