2

プログラムを書くとき、スタブは常に同じことを意味しますか?

「スタブは、外部の依存関係を削除するために、オブジェクト、メソッド、または関数の置換実装を提供します。スタブは通常、単体テストおよびコンポーネントテスト中に使用されます。単体テストを作成しようとして、データベースへの単純な呼び出しを置換する必要がある場合は、外部ライブラリ(ファイルI / Oなど)やその他のシステム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

上記のコードはスタブの例ですか?もしそうなら、スケルトンは何でしょうか、それとも当てはまりませんか?

情報をありがとう。

4

1 に答える 1

1

CORBAおよびRMIスタブは、特定のリモートオブジェクトをローカルに表す非常に特殊なオブジェクトです。このオブジェクトはサーバー側に存在し、スタブはクライアント側に存在します。スタブは同じインターフェイスを実装し(同じ動作メソッドを持ちます)、すべての呼び出しをリモートオブジェクトに転送し、返された結果と例外も受け取ります。スタブクラスは通常、自動的に生成されることがよくあります。

一般に、スタブの意味は異なります(半分しか完成していないもので、多くの場合、コードをコンパイルするのに十分ですが、正しく実行されません)。

于 2013-01-13T12:28:07.250 に答える