JPH10105404A - Object directional software design pattern - Google Patents

Object directional software design pattern

Info

Publication number
JPH10105404A
JPH10105404A JP8275314A JP27531496A JPH10105404A JP H10105404 A JPH10105404 A JP H10105404A JP 8275314 A JP8275314 A JP 8275314A JP 27531496 A JP27531496 A JP 27531496A JP H10105404 A JPH10105404 A JP H10105404A
Authority
JP
Japan
Prior art keywords
class
design pattern
subsystem
classes
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8275314A
Other languages
Japanese (ja)
Inventor
Yotaro Hachitsuka
陽太郎 八塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
Kokusai Denshin Denwa KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kokusai Denshin Denwa KK filed Critical Kokusai Denshin Denwa KK
Priority to JP8275314A priority Critical patent/JPH10105404A/en
Publication of JPH10105404A publication Critical patent/JPH10105404A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a software interface design pattern for constituting a sub-system being superior in a test property and a maintenance in object direction system development. SOLUTION: In an object directional system, the software interface design pattern is provided with at least a method for converting messages from client classes C1-C2 in order to perform access to the classes inside the sub-system in the object directional system so as to perform access to the classes B1-B5 inside the sub-system, the pointer of an instance to the classes B1-B5 in the sub-system and serve classes S1-S3 and the method for performing access to the server classes S1-S3.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、オブジェクト指向
システムにおけるサブシステムのソフトウェアの再利用
と品質の向上を、更にはテスト性や保守性の向上を目的
としたソフトウェア・インタフェース・デザインパター
ンに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software interface design pattern for the purpose of improving the reuse and quality of software of a subsystem in an object-oriented system, and further improving testability and maintainability. is there.

【0002】[0002]

【従来の技術】一般に、オブジェクト指向システムにお
いて、図3のサブシステムに関連したオブジェクト関連
図の1例に示すように、1及び2のクライアントクラス
C(C1、C2)と、サブシステム内の4、5、6、7
及び8の複数のクラスB(B1、B2、B3、B4、B
5)との間で制御手順を含め複雑な依存関係がある場合
に、クライアントクラスC1及びC2とサブシステム内
のクラスBとを図3の如く直接関連づけることは、これ
らの関連を実装したサブシステムのソフトウェアやオブ
ジェクトモデルの再利用を困難にすると共に、ソフトウ
ェアの解読も難しくなり、ソフトウェアのテストが煩雑
になる。この為、オブジェクト指向システムに於けるソ
フトウェア・デザインパターンが種々提案されている。
特に、インタフェースのデザインパターンに関する従来
技術の一つとしてファサード(FACADE)がある。
このファサード・デザインパターンは、これを介してサ
ブシステム内に存在している複数のクラスBにクライア
ントクラスCがアクセスする際に、クライアントクラス
Cに対して1つの統一インタフェースを与える機能を有
している。
2. Description of the Related Art Generally, in an object-oriented system, as shown in an example of an object relation diagram relating to a subsystem in FIG. 3, one and two client classes C (C1, C2) and four , 5, 6, 7
And eight classes B (B1, B2, B3, B4, B
In the case where there is a complicated dependency including the control procedure between the client class and the client class C5, the direct association between the client classes C1 and C2 and the class B in the subsystem as shown in FIG. This makes it difficult to reuse existing software and object models, makes it difficult to decipher software, and complicates software testing. For this reason, various software design patterns for object-oriented systems have been proposed.
In particular, there is a facade (FACADE) as one of the prior arts relating to interface design patterns.
The facade design pattern has a function of providing one unified interface to the client class C when the client class C accesses a plurality of classes B existing in the subsystem via the facade design pattern. I have.

【0003】この為、図2の如く、クライアントクラス
Cからサブシステム内のクラスBへの基本操作を行う際
に、ファサード・デザインパターンを導入し、単純なイ
ンタフェース機能を持った19のファサードクラスを定
義している。クライアントクラスC1及びC2からファ
サードクラスへメッセージを送出し、ファサードクラス
内のメソッドによって要求を受取り、更に、ファサード
クラスから適当なクラスBのオブジェクトのインタフェ
ースに変換しメッセージを転送することによりアクセス
している。このように、クライアントクラスCがサブク
ラス内のクラスB(オブジェクト)に直接アクセスする
ことを避け、クラスBに対するクライアントクラスCの
制御手順をファサードクラス内のメソッドに記述するこ
とにより、クライアントクラスCからのメッセージ数が
削減でき、而も、アクセスする為のクラスBの詳細構造
を知る必要は無くなる。従って、サブシステムの独立性
や移植性が高められる。
For this reason, as shown in FIG. 2, when performing a basic operation from a client class C to a class B in a subsystem, a facade design pattern is introduced, and 19 facade classes having a simple interface function are provided. Has defined. A message is sent from the client classes C1 and C2 to the facade class, a request is received by a method in the facade class, and further converted from the facade class to an interface of an appropriate class B object, and the message is accessed by transferring the message. . As described above, by avoiding the client class C from directly accessing the class B (object) in the subclass, and by describing the control procedure of the client class C for the class B in the method in the facade class, the message from the client class C is obtained. The number can be reduced, and it is not necessary to know the detailed structure of the class B to access. Therefore, the independence and portability of the subsystem are improved.

【0004】また、サブシステム内のクラスBは、原則
的にファサードクラスを介して指定された仕事を処理す
るが、逆に、ファサードクラスへの参照(ポインタ)を
属性として保持してない。従って、サブシステム内のク
ラスBはファサードクラスへメッセージを送ることがで
きず、図2に示すようにクラスB2から9のサーバクラ
スS1へ、11のサーバクラスS3へ、及びクラスB3
から10のサーバクラスS2へ、更にクラスB5から1
1のサーバクラスS3へそれぞれ直接メッセージを送っ
ている。
The class B in the subsystem processes the work specified via the facade class in principle, but does not hold a reference (pointer) to the facade class as an attribute. Therefore, class B in the subsystem cannot send a message to the facade class, as shown in FIG. 2, from classes B2 to 9 server classes S1, 11 server classes S3, and class B3.
To server class S2 from 10 and further from class B5 to 1
A message is directly sent to each of the server classes S3.

【0005】従って、クライアントクラスCをテストド
ライバクラスで、更にサーバクラスSをスタブクラスで
それぞれ置き換え、サブシステムをテストする際に、ク
ラスBからサーバークラスSに対する制御手順など詳細
な構造を知る必要があり、インタフェースが統一されず
簡単にテストすることができない。
Therefore, when the client class C is replaced with a test driver class and the server class S is replaced with a stub class, and a subsystem is tested, it is necessary to know a detailed structure such as a control procedure from the class B to the server class S. Yes, the interface is not uniform and cannot be easily tested.

【0006】また、サブシステム内のクラスBはファサ
ードクラスを介して全て隠蔽されてはおらず、他の低レ
ベルのクライアントクラスからファサードクラスを介さ
ず直接アクセスすることを完全に禁止していない。この
構成条件も、サブシステムのテストを複雑にしている。
Further, class B in the subsystem is not completely hidden via the facade class, and does not completely prohibit direct access from other low-level client classes without passing through the facade class. This configuration condition also complicates the testing of the subsystem.

【0007】このように、従来のファサードデザインパ
ターンを用いてサブシステムとクライアントクラスCと
のインタフェースを行う場合、ファサードクラスは上記
の構造を持ったインタフェース機能を提供していること
から、クライアントクラスCからサブシステム内のクラ
スBへファサードクラスを介してメッセージを送るに
は、特に問題がない。しかしながら、サブシステムのテ
ストの際に、クライアントクラスCをテストドライバク
ラスで、サーバクラスSをスタブクラスでそれぞれ置き
換え、サブシステムをテストする場合に、個々のサーバ
クラスSとの接続構成と制御手順を解読した後、それぞ
れ個々のインタフェースを用意する必要があり、テスト
の手間が非常にかかりコストアップになるなどの問題が
ある。
As described above, when the interface between the subsystem and the client class C is performed using the conventional facade design pattern, the facade class provides the interface function having the above-described structure. There is no particular problem in sending a message from the to the class B in the subsystem via the facade class. However, when testing the subsystem, the client class C is replaced with a test driver class and the server class S is replaced with a stub class. When testing a subsystem, the connection configuration and control procedure with each server class S must be changed. After deciphering, it is necessary to prepare each interface individually, and there is a problem that a test is extremely troublesome and costs are increased.

【0008】更に、ソフトウェア品質、サブシステムの
機能拡張などメインナンスもやりにくいなどの欠点を持
っている。また、ファサードクラスを介さないメッセー
ジが数多くサブシステム内のクラスBへ送られている場
合には、サブシステムを独立にテストすることが困難
で、テストが一段と非常に難しくなるなどの欠点も持っ
ている。
Further, there are disadvantages such as difficulty in maintenance such as software quality and function expansion of subsystems. In addition, when a large number of messages that do not pass through the facade class are sent to the class B in the subsystem, it is difficult to test the subsystem independently, and the test becomes much more difficult. I have.

【0009】[0009]

【発明が解決しようとする課題】上記の説明のごとく、
従来のファサード・デザインパターンをサブシステムと
クライアントクラスBとのインタフェースとして用いる
場合に、この間の接続は簡単になるものの、テストを実
行する際にはインタフェースとしては不十分で、サブシ
ステムのクラスBからメッセージをサーバクラスSに送
る際に、クラス毎にそれらのインタフェース条件や制御
手順を考慮したテスト方法を考えることが要求される。
このようにファサード・デザインパターンはソフトウェ
ア・インタフェース・デザインパターンとして、サブシ
ステムの独立性を十分に確保できず、テスト性を考慮し
たインタフェースとしては機能的に不十分で、ソフトウ
ェア品質やメインテナンス性も劣り、多くのテスト期間
やコストがかさむ欠点を有している。
SUMMARY OF THE INVENTION As described above,
When the conventional facade design pattern is used as an interface between the subsystem and the client class B, the connection between them becomes simple, but the interface is not sufficient when executing the test. When sending a message to the server class S, it is required to consider a test method in consideration of those interface conditions and control procedures for each class.
As described above, the facade design pattern is a software interface design pattern that does not ensure sufficient independence of subsystems, is not functionally sufficient as an interface considering testability, and has poor software quality and maintainability. However, it has the disadvantage of increasing the test period and cost.

【0010】本発明の目的は、上記の問題を解決し、サ
ブシステムのテストの際にも優れたインタフェース機能
を有し、ソフトウェア品質や再利用性に優れたソフトウ
ェア・インタフェース・デザインパターンを提供するこ
とにある。ここでは、本発明のデザインパターンを以下
コネクタ・デザインパターンと呼ぶこととする。
An object of the present invention is to provide a software interface design pattern which solves the above problems, has an excellent interface function even in subsystem testing, and is excellent in software quality and reusability. It is in. Here, the design pattern of the present invention is hereinafter referred to as a connector design pattern.

【0011】[0011]

【課題を解決するための手段】オブジェクト指向システ
ムにおいて、上記の問題点を解決するために、該システ
ムのサブシステム内のクラスにアクセスする為に、クラ
イアントクラスからのメッセージを変換し指定された該
サブシステム内の該クラスをアクセスするメソッドと、
該サブシステム内の該クラス及びサーバクラスへのイン
スタンスのポインタと、該サーバクラスへアクセスする
ためのメソッドとを少なくとも有することを特徴とした
ソフトウェア・インタフェース・デザインパターンを用
いることにより、上記の欠点を解決する。
In an object-oriented system, in order to solve the above-mentioned problems, a message from a client class is converted and designated to access a class in a subsystem of the system. A method for accessing the class in the subsystem;
By using a software interface design pattern characterized by having at least a pointer to instances of the class and server classes in the subsystem and a method for accessing the server class, the above drawbacks are overcome. Resolve.

【0012】また、該ソフトウェア・インタフェース・
デザインパターンを有する該サブシステムに対して、該
クライアントクラスの代わりにテストドライバクラス
を、該サーバクラスの代わりにスタブクラスをそれぞれ
定義し、該ソフトウェア・インタフェース・デザインパ
ターンを介して該サブシステムのテストを実行すること
を特徴としたテスト方式を用いることにより、上記の欠
点を解決する。
Further, the software interface
For the subsystem having a design pattern, a test driver class is defined instead of the client class, and a stub class is defined instead of the server class, and testing of the subsystem is performed through the software interface design pattern. The above-mentioned drawbacks are solved by using a test method characterized by performing the following.

【0013】上記説明のごとく本発明のソフトウェア・
インタフェース・デザインパターン(コネクタ・デザイ
ンパターン)を設け、コネクタ・デザインパターンのコ
ネクタクラスを介してクライアントクラスC及びサーバ
クラスSとサブシステム内のクラスBとをそれぞれ接続
させることから、サブシステムは他のクライアントクラ
スやサーバクラスから完全に独立したものとなり、サブ
システムの機能拡張や変更が、他システムや他クラスに
は影響を与えず、簡単に実施できる。また、クライアン
トクラス及びサーバクラスとの接続もしやすく統一的な
インタフェース構造を提供できることから、サブシステ
ムの再利用性も従来方式より一段と高くなり、更に、テ
スト性にも非常に優れ、メインテナンス性も大幅に改善
される。
As described above, the software of the present invention
Since an interface design pattern (connector design pattern) is provided, and the client class C and the server class S are connected to the class B in the subsystem via the connector class of the connector design pattern, the subsystem is connected to another class. It is completely independent of the client class and server class, and the extension or change of subsystem functions can be easily implemented without affecting other systems or classes. In addition, since it is easy to connect to the client class and server class and can provide a unified interface structure, the reusability of the subsystem is much higher than the conventional method, and the testability is also very good, and the maintainability is large. To be improved.

【0014】従って、本発明のソフトウェア・インタフ
ェース・デザインパターンを個々のサブシステムに適用
することにより、開発コスト、メインテナンスコストが
大幅に削減出来ると共に、LSIチップのように同一の
サブシステムやカスタマイズされたサブシステムの幅ひ
ろい利用が可能となる。
Therefore, by applying the software interface design pattern of the present invention to individual subsystems, development costs and maintenance costs can be greatly reduced, and the same subsystems as LSI chips or customized A wide variety of subsystems can be used.

【0015】[0015]

【発明の実施の形態】以下に本発明のソフトウェア・イ
ンタフェース・デザインパターンの1実施例をあげ説明
する。ソフトウェア・インタフェース・デザインパター
ンとしてのコネクタ・デザインパターンを適用し、コネ
クタ・デザインパターンのコネクタクラスを介したクラ
イアントクラスC及びサーバクラスSとサブシステムの
クラスBとの接続を行う1構成例を図1に示す。クライ
アントクラス及びサーバクラスは、コネクタクラスを介
してサブシステム内のクラスBと接続される。ここで、
接続関係を示す為に、12、13、14及び15にそれ
ぞれ3のコネクタクラス内の入力インタフェース用メソ
ッドI1、I2、I3及びI4を記述したものである。
また、16、17及び18は、それぞれコネクタクラス
内の出力インタフェース用メソッドO1、O2及びO3
である。ここで、コネクタクラスのC++言語による定
義の1例を図4に示す。ファサードクラスと異なり、サ
ーバクラスS(S1、S2、S3)がそれぞれ宣言され
ており、それぞれのインスタンスのポインタも属性とし
て新たに定義されている。更に、クラスBからコネクタ
クラスへ送られるメッセージとサーバクラスSにそれぞ
れアクセスするための出力インタフェース用メソッドO
1、O2及びO3が新たに実装されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a software interface design pattern according to the present invention will be described below. One configuration example in which a connector design pattern as a software interface design pattern is applied to connect a client class C and a server class S to a subsystem class B via a connector class of the connector design pattern is shown in FIG. Shown in The client class and the server class are connected to the class B in the subsystem via the connector class. here,
In order to show the connection relation, input interface methods I1, I2, I3 and I4 in three connector classes are described in 12, 13, 14 and 15, respectively.
Also, 16, 17, and 18 are output interface methods O1, O2, and O3 in the connector class, respectively.
It is. Here, FIG. 4 shows an example of the definition of the connector class in the C ++ language. Unlike the facade class, server classes S (S1, S2, S3) are declared, respectively, and pointers of the respective instances are newly defined as attributes. Further, an output interface method O for accessing the message sent from the class B to the connector class and the server class S, respectively.
1, O2 and O3 are newly implemented.

【0016】また、ファサードクラスを用いた場合と同
様に、クライアントクラスCからのメッセージに従って
クラスBをアクセスする為のメソッドもそれぞれ定義さ
れている。このように、コネクタ・デザインパターンに
おけるコネクタクラスを図4の如く定義することによ
り、入出力インタフェースが準備され、クラスBの詳細
な構造と制御手順を知る必要がなくなり、テストドライ
バクラス及びスタブクラスとの接続性が非常に高く、テ
ストしやすい。また、図6、図7及び図9のクラスBの
定義の1例に示す如く、20、21及び22のクラスB
2、B3及びB5は、ファサードクラスを用いた場合と
は異なっており、それぞれコネクタ・デザインパターン
のコネクタクラスを導入したことにより、ファサードの
場合の5、6及び8と異なり、コメントに記述されてい
るように変更されている。具体的には、コネクタクラス
の宣言と、コネクタクラスにアクセスするためのメソッ
ド、とコネクタクラスがアクセスするクラスへのインス
タンスのポインタを属性として新たに定義している。
Further, similarly to the case where the facade class is used, a method for accessing the class B in accordance with a message from the client class C is also defined. As described above, by defining the connector class in the connector design pattern as shown in FIG. 4, the input / output interface is prepared, and it is not necessary to know the detailed structure and control procedure of the class B. Very high connectivity and easy to test. In addition, as shown in an example of the definition of the class B in FIGS.
2, B3 and B5 are different from the case using the facade class, and are different from 5, 6 and 8 in the case of the facade due to the introduction of the connector class of the connector design pattern. Has been changed to Specifically, a connector class declaration, a method for accessing the connector class, and a pointer of an instance to a class accessed by the connector class are newly defined as attributes.

【0017】一方、クラスB1及びB4に関しては、図
5のクラスB1(4)及び図8のクラスB4(7)の、
クライアントクラスC1及びC2に関しては、図10の
クライアントクラスC1(1)及び図11のクライアン
トクラスC2(2)の、更に、サーバクラスSに関して
は、図12のサーバクラスS1(9)、図13のサーバ
クラスS2(10)及び図14のサーバクラスS3(1
1)の定義の1例をそれぞれ掲げたが、これらはファサ
ード・デザインパターンのファサードクラスを用いた場
合と同様である。
On the other hand, regarding the classes B1 and B4, the classes B1 (4) in FIG. 5 and the class B4 (7) in FIG.
For the client classes C1 and C2, the client class C1 (1) in FIG. 10 and the client class C2 (2) in FIG. 11, and for the server class S, the server class S1 (9) in FIG. The server class S2 (10) and the server class S3 (1
One example of the definition of 1) is listed, respectively, and these are the same as the case where the facade class of the facade design pattern is used.

【0018】上記の各クラスに対して、図1のオブジェ
クト関連図に従って、クライアントクラスCからそれぞ
れメッセージをコネクタクラスに送り、更にクラスBへ
転送し、クラスBからの応答としてのメッセージをコネ
クタクラスが受取り、これらをサーバクラスSへ転送す
ることにより一連の動作をさせることができる。また、
サブシステムのテストの際には、クライアントクラスC
をテストドライバクラスに、サーバクラスSをスタブク
ラスに置き換えることにより、サブシステムになんら変
更を加えることなく実施することができる。また、この
実施例では、サブシステム内のクラスBはコネクタクラ
スを介して全て隠蔽されることを条件としているが、テ
ストに大きな影響を与えない場合には、他の低レベルの
クライアントクラスからコネクタクラスを介さず直接ア
クセスすることを許容してもよい。
For each of the above classes, a message is sent from the client class C to the connector class, transferred to the class B, and a message as a response from the class B is sent to the connector class according to the object relation diagram of FIG. A series of operations can be performed by receiving and transferring these to the server class S. Also,
When testing subsystems, client class C
Is replaced with a test driver class and the server class S is replaced with a stub class, so that the subsystem can be implemented without any change. Further, in this embodiment, the class B in the subsystem is supposed to be completely hidden via the connector class. However, if the class B does not significantly affect the test, the connector B cannot be used from other low-level client classes. You may allow direct access without going through the class.

【0019】[0019]

【発明の効果】以上述べたように、本発明のソフトウェ
ア・インタフェース・デザインパターンとしてのコネク
タ・デザインパターンを設け、これを介してクライアン
トクラス及びサーバクラスとサブシステム内のクラスと
を接続させることから、非常に安定したインタフェース
機能を提供できる。従って、サブシステムは、クライア
ントクラスC及びサーバクラスSとサブシステム内のク
ラスB間の非常に複雑な直接の依存関係が排除され、而
も、クライアントクラスやサーバクラスから完全に独立
したものとなり、サブシステムの機能拡張や変更が、他
システムや他クラスには影響を与えず、実施できる。ま
た、統一的なインタフェース構造によりクライアントク
ラス及びサーバクラスとの接続もしやすいことから、サ
ブシステムの再利用性も従来方式より一段と高まり、更
に、テスト性にも非常に優れ、メインテナンス性も大幅
に改善される。
As described above, the connector design pattern is provided as the software interface design pattern of the present invention, and the client class and the server class are connected to the classes in the subsystem via the connector design pattern. It can provide a very stable interface function. Thus, the subsystem eliminates very complex direct dependencies between the client class C and server class S and the class B in the subsystem, and is completely independent of the client and server classes, Extensions and changes in subsystems can be implemented without affecting other systems or classes. In addition, the unified interface structure makes it easy to connect to the client and server classes, further improving the reusability of subsystems compared to the conventional method, and also greatly improving testability and greatly improving maintainability. Is done.

【0020】従って、本発明のソフトウェア・インタフ
ェース・デザインパターンを個々のサブシステムに適用
することにより、ソフトウェア品質の向上、開発コスト
やメインテナンスコストの大幅な削減が出来ると共に、
LSIチップと同様に同一のソフトウェアからなるサブ
システムやカスタマイズされたサブシステムの幅ひろい
利用が可能となる。
Therefore, by applying the software interface design pattern of the present invention to individual subsystems, it is possible to improve software quality, and significantly reduce development costs and maintenance costs.
As in the case of the LSI chip, a wide variety of subsystems made of the same software and customized subsystems can be used.

【0021】従来技術では、オブジェクト指向システム
におけるサブシステム内のクラスとクライアントクラス
間及びサーバクラス間の一貫した入出力テストが困難で
あったが、上記の説明の如く本発明のコネクタ・デザイ
ンパターンを適用することにより、サブシステムのテス
ト性と再利用性、更にはそれらのソフトウェア品質の著
しい改善が図られることから、最終的に大規模なオブジ
ェクト指向システムのソフトウェア品質の向上と保守性
の向上が図られ、非常に大きな経済効果を与えることが
できる。
In the prior art, it has been difficult to consistently perform an input / output test between a class in a subsystem and a client class and between a server class in an object-oriented system. However, as described above, the connector design pattern of the present invention is not used. The application will significantly improve the testability and reusability of the subsystems, as well as their software quality, and will ultimately improve the software quality and maintainability of large object-oriented systems. It can achieve a very large economic effect.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施例のソフトウェア・インタフェー
ス・デザインパターンとしてのコネクタ・デザインパタ
ーンを用いた1実施例におけるコネクタクラスを介した
クライアントクラスC及びサーバクラスSとサブシステ
ム内のクラスBとのオブジェクト関連図の1例である。
FIG. 1 shows a configuration of a client class C and a server class S and a class B in a subsystem via a connector class in one embodiment using a connector design pattern as a software interface design pattern according to an embodiment of the present invention. It is an example of an object relation diagram.

【図2】従来のファサード・デザインパターンを用いた
場合のファサードクラスを介したクライアントクラスC
及びサーバクラスSとサブシステム内のクラスBとのオ
ブジェクト関連図の1例である。
FIG. 2 shows a client class C via a facade class when a conventional facade design pattern is used.
And an example of an object relation diagram between a server class S and a class B in a subsystem.

【図3】デザインパターンを用いない場合のクライアン
トクラスC及びサーバクラスSとサブシステム内のクラ
スBとのオブジェクト関連図の1例である。
FIG. 3 is an example of an object relation diagram of a client class C and a server class S and a class B in a subsystem when a design pattern is not used.

【図4】実施例におけるコネクタクラスの定義の1例で
ある。
FIG. 4 is an example of a definition of a connector class in the embodiment.

【図5】実施例におけるクラスB1の定義の1例であ
る。
FIG. 5 is an example of a definition of a class B1 in the embodiment.

【図6】実施例におけるクラスB2の定義の1例であ
る。
FIG. 6 is an example of a definition of a class B2 in the embodiment.

【図7】実施例におけるクラスB3の定義の1例であ
る。
FIG. 7 is an example of a definition of a class B3 in the embodiment.

【図8】実施例におけるクラスB4の定義の1例であ
る。
FIG. 8 is an example of a definition of a class B4 in the embodiment.

【図9】実施例におけるクラスB5の定義の1例であ
る。
FIG. 9 is an example of a definition of a class B5 in the embodiment.

【図10】実施例におけるクライアントクラスC1の定
義の1例である。
FIG. 10 is an example of a definition of a client class C1 in the embodiment.

【図11】実施例におけるクライアントクラスC2の定
義の1例である。
FIG. 11 is an example of a definition of a client class C2 in the embodiment.

【図12】実施例におけるサーバクラスS1の定義の1
例である。
FIG. 12 illustrates a definition of a server class S1 according to the embodiment.
It is an example.

【図13】実施例におけるサーバクラスS2の定義の1
例である。
FIG. 13 shows a definition of a server class S2 in the embodiment.
It is an example.

【図14】実施例におけるサーバクラスS3の定義の1
例である。
FIG. 14 illustrates a definition of a server class S3 according to the embodiment.
It is an example.

【符号の説明】 1 クライアントクラスC1 2 クライアントクラスC2 3 コネクタクラス 4 クラスB1 5 クラスB2 6 クラスB3 7 クラスB4 8 クラスB5 9 サーバクラスS1 10 サーバクラスS2 11 サーバクラスS3 12 入力インタフェース用メソッドI1 13 入力インタフェース用メソッドI2 14 入力インタフェース用メソッドI3 15 入力インタフェース用メソッドI4 16 出力インタフェース用メソッドO1 17 出力インタフェース用メソッドO2 18 出力インタフェース用メソッドO3 19 ファサードクラス 20 クラスB2 21 クラスB3 22 クラスB5[Description of Signs] 1 client class C1 2 client class C2 3 connector class 4 class B1 5 class B2 6 class B3 7 class B4 8 class B5 9 server class S1 10 server class S2 11 server class S3 12 method I1 13 for input interface Input Interface Method I2 14 Input Interface Method I3 15 Input Interface Method I4 16 Output Interface Method O1 17 Output Interface Method O2 18 Output Interface Method O3 19 Facade Class 20 Class B2 21 Class B3 22 Class B5

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクト指向システムにおいて、該
システムのサブシステム内のクラスにアクセスする為
に、クライアントクラスからのメッセージを変換し指定
された該サブシステム内クラスをアクセスするメソッド
と、該サブシステム内クラス及びサーバクラスへのイン
スタンスのポインタを保持し、該サーバクラスへアクセ
スするためのメソッドとを少なくとも有することを特徴
としたソフトウェア・インタフェース・デザインパター
ン。
In an object-oriented system, in order to access a class in a subsystem of the system, a method for converting a message from a client class and accessing a specified class in the subsystem; A software interface design pattern characterized by holding at least pointers to instances of classes and server classes, and at least a method for accessing the server class.
【請求項2】 請求項1の記載において、該ソフトウェ
ア・インタフェース・デザインパターンを有する該サブ
システムに対して、該クライアントクラスの代わりにテ
ストドライバクラスを、該サーバクラスの代わりにスタ
ブクラスを定義し、該ソフトウェア・インタフェース・
デザインパターンを介して該サブシステムのテストを実
行することを特徴としたテスト方式。
2. The system according to claim 1, wherein, for the subsystem having the software interface design pattern, a test driver class is defined instead of the client class, and a stub class is defined instead of the server class. , The software interface
A test method for executing a test of the subsystem through a design pattern.
JP8275314A 1996-09-27 1996-09-27 Object directional software design pattern Pending JPH10105404A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8275314A JPH10105404A (en) 1996-09-27 1996-09-27 Object directional software design pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8275314A JPH10105404A (en) 1996-09-27 1996-09-27 Object directional software design pattern

Publications (1)

Publication Number Publication Date
JPH10105404A true JPH10105404A (en) 1998-04-24

Family

ID=17553726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8275314A Pending JPH10105404A (en) 1996-09-27 1996-09-27 Object directional software design pattern

Country Status (1)

Country Link
JP (1) JPH10105404A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229047A (en) * 2000-02-14 2001-08-24 Toshiba Corp Server process testing system and computer readable recording medium with server process test framework recorded and computer readable recording medium with server process test program recorded

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229047A (en) * 2000-02-14 2001-08-24 Toshiba Corp Server process testing system and computer readable recording medium with server process test framework recorded and computer readable recording medium with server process test program recorded

Similar Documents

Publication Publication Date Title
US6205492B1 (en) Method and computer program product for interconnecting software drivers in kernel mode
US6016515A (en) Method, computer program product, and data structure for validating creation of and routing messages to file object
CA2208297C (en) Method and computer program product for reducing inter-buffer data transfers between separate processing components
US5847955A (en) System and method for controlling an instrumentation system
US5926775A (en) Mini driver software architecture for a data acquisition system
US5640572A (en) System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system
JP4575528B2 (en) Using a standard clock mechanism to synchronize the processing of multiple data streams and match different processing speeds
US5710727A (en) System and method for creating resources in an instrumentation system
JP4608517B2 (en) Modular test system
JP2001125787A (en) Method for serializing and deserializing program object
US7669002B1 (en) System and method for providing an application with memory access methods
US20010012014A1 (en) Single logical in x windows with direct hardware access to the frame buffer for 3d rendering
US5627998A (en) System and method for mapping calls to functions in a first driver level library to a session-based instrumentation control driver level system
US6289394B1 (en) Agent management system capable of readily monitoring and controlling agent
US6643712B1 (en) Validating the creation of and routing of messages to file objects
CN110221867A (en) Pulse I/O function cartoon letters drive system and method under a kind of XP system
US6052743A (en) Buffer object for performing buffered data transfers in a data acquisition system
JPH10105404A (en) Object directional software design pattern
US7002599B2 (en) Method and apparatus for hardware acceleration of clipping and graphical fill in display systems
JP3085730B2 (en) Parallel simulation method for complex CPU system
JPH11306149A (en) Parallel arithmetic processor and method therefor
CN112882960A (en) Data acquisition method and device
KR19990051702A (en) Remote Object Creation and Approach in Distributed Object System
JPS6315353A (en) Data transfer circuit
Aarsten et al. Object-oriented design patterns in reactive systems

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020813