2013-01-04 10 views
9

エンティティオブジェクト、バリューオブジェクトなど他の用語も参照してください。私が知っておくべき他の用語がありますか、これらの用語は何を参照していますか?クラス、オブジェクト、エンティティ:違いは何ですか?

もしあれば、それらの違いはコードを読み取ることによって特定できますか?

+1

http://en.wikipedia.org/wiki/Object-oriented_programming – SLaks

+0

使用するプラットフォーム/言語によって異なります。 –

答えて

0

一般に、クラスはプロパティとメソッド/関数のセットを定義するコンストラクトですが、Objectは実行時に作成されるクラスの実際のインスタンスです。

サンプルクラス定義:以下は、実行時オブジェクトとして実施例クラスのインスタンスを作成する

public class Example{ 

... 

} 

new Example(); 
13

クラスはオブジェクトを作成するためのテンプレートです。すべてのOO言語がクラスを使用するわけではありません(自己、Javascriptを参照)。通常、クラスはオブジェクトとして実装されます。

オブジェクトは、そのデータ(メソッドと呼ばれる)に作用する関数でパッケージ化されたデータの束です。クラスのコンストラクタを呼び出すと、オブジェクトのメモリが割り当てられ、そのメンバ変数が初期化されます。

エンティティは、システムが追跡に関心を持つアイデンティティを持つものを表すオブジェクトです。典型的な例は顧客とアカウントです。

値オブジェクトは値であり、同一性を持たず、同じ値を持つ2つのインスタンスが同一であるとみなされます。典型的な例は、金額、場所、支払いタイプです。

データ転送オブジェクトは、大量のデータを渡すために使用されます。通常は、分散システムでは、繰り返しのネットワークコールを避けるために、バンドルとしてデータを送信するために使用されます。データ転送オブジェクトには識別情報がありません(または必要があるとは限りません)。データ転送オブジェクトはデータのコンテナです。

一般に、エンティティは識別可能な識別情報を持ち、システムはそれらを作成し、格納し、変更するためにエンティティと値オブジェクトの違いを認識できます。オブジェクトがいくつかのデータベースにマップされる場合、エンティティは、一種の複合自然キーまたは人工キーのいずれかの主キーを持ち、値オブジェクトは値によって比較されます。

関連する問題