Как да разберете какво е мъниче?

Винаги ли мъничето означава едно и също нещо, когато пишете програми?

„Пънчетата предоставят заместващи имплементации за обекти, методи или функции, за да премахнат външните зависимости. Пънчетата обикновено се използват по време на тестване на модули и компоненти. Ако се опитвате да напишете единичен тест и трябва да замените просто извикване към база данни, външни библиотеки (напр. файлов I/O) или друг системен API, заглушаването може да е идеално подходящо за вашите нужди."

Мислех, че мъниче и скелет са само в CORBA, но тук има мъниче и това едно и също нещо/концепция ли е? Съвпадение или връзка, когато думата "stub" се появява в доста различни програмни модели (RMI и MIPS assmebly са 2 доста различни) и двата имат концепцията/нещото, наречено "stub", а също така знам, че за RMI / CORBA има нещо, наречено skeleton но също така е възможно да има мъниче без скелет или какво?

Например, когато 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

Кодът по-горе пример за мъниче ли е? Ако е така, какво би било скелет или това не е приложимо?

Благодаря за инфото


person Niklas R.    schedule 27.12.2012    source източник
comment
Това е много общ термин за програмиране. Просто погледнете статията в wikipedia: en.wikipedia.org/wiki/Method_stub   -  person Hans Passant    schedule 27.12.2012
comment
Не знам дали има истинско определение, но това нещо по-горе ми мирише на мъниче. Синоним може да бъде обвивка.   -  person Aki Suihkonen    schedule 27.12.2012
comment
мъниче е общ термин, който не е специфичен за нито един език, платформа или среда. Общата дефиниция, която цитирахте, до голяма степен го покрива, за целите на тестването или дори за разпространение на нещо можете да използвате мъниче, за да затворите някакъв висящ интерфейс, който всъщност не използвате или искате да фалшифицирате, така че да не пречи, или както в дефиницията, която цитирахте, тествайте интерфейса.   -  person old_timer    schedule 27.12.2012


Отговори (1)


CORBA и RMI stub е доста специфичен обект, който локално представлява определен отдалечен обект. Този обект съществува от страна на сървъра, а мъничето съществува от страна на клиента. Стълбът имплементира същия интерфейс (има същите работни методи), пренасочвайки всички повиквания към отдалечения обект, като също така получава върнати резултати и изключения. Класът Stub обикновено често се генерира автоматично.

Stub като цяло има различно значение (нещо, което е само наполовина завършено, често достатъчно, за да може кодът да се компилира, но не и да работи правилно).

person Audrius Meskauskas    schedule 13.01.2013