UMLは、プログラムの内部ロジックの表現を単純化するのに役立ちます。
「統一モデリング言語」またはUMLは、ソフトウェアがどのように編成されているかを示すために設計された言語です。 エンジニアはUMLを使用して、プログラム内の情報の流れを図解し、それを単純化または変更する方法をよりよく理解できるようにします。 情報フローをモデル化する場合、UMLは、そのフローを開始できる「アクティブオブジェクト」と、開始できない「パッシブオブジェクト」を区別します。
オブジェクトとクラス
いわゆる「オブジェクト指向」プログラミングに関して言えば、コンピュータサイエンスは「オブジェクト」と「クラス」を区別します。 クラスは 変数やメソッドなどの一連のものの一般化された説明。一方、「オブジェクト」はそのクラスの「インスタンス」であり、独自の固有のものがあります。 プロパティ。 クラスを青写真またはテンプレートと考えてください。 物理的な世界では、「筆記具」はクラスと見なされる場合があり、その特定のクラスタイプの「オブジェクト」の「ペン」または「オレンジクレヨン」の例があります。
今日のビデオ
UMLのオブジェクト
UMLは、クラスとオブジェクトの間の同様の区別を保持し、それらは同じ方法で表されます。 UMLクラスには広範な説明が含まれ、UMLオブジェクトにはそれらの説明のインスタンスを表す特定の値が含まれます。 したがって、正式に言えば、UMLの「アクティブオブジェクト」は「アクティブクラス」の任意のインスタンスであり、同様に「パッシブ」です。 オブジェクト」は「パッシブクラス」のインスタンスです。理論的な意味では、これらの用語は本質的には 交換可能。
アクティブオブジェクト
UMLでは、アクティブクラス、つまりアクティブオブジェクトは、独自の操作スレッドに存在し、独自のアドレス空間を持っています。 実行またはコードアクティビティがフローの観点から考えられる場合、アクティブオブジェクトはそのフローを開始または制御できます。 つまり、アクティブオブジェクトはシーケンシャルであり、変数の変更、プログラムの動作の変更などを行います。 UMLでは、アクティブなクラスとオブジェクトは、パッシブなオブジェクトよりも太い境界線を持つことで区別されます。
パッシブオブジェクト
UMLのパッシブオブジェクトは、別のオブジェクトがそれらを呼び出すのを待つ必要があるため、通常、実行フローを変更または開始する機能はありません。 代わりに、パッシブオブジェクトは一般に情報を格納するために使用され、多くの場合、この情報は他の複数のオブジェクト間で共有される可能性があります。 これにより、パッシブオブジェクトに順次ではなく同時にアクセスできるようになる場合があります。 内部に含まれるデータの整合性が高いことを確認するために、UMLでは、パッシブオブジェクトが順次アクセスされることを要求できます。 2つのスレッドが同じシーケンシャルパッシブオブジェクトを呼び出そうとすると、そのオブジェクトは、最初のスレッドが終了するまで2番目のスレッドを遅らせることができます。