ChiMu Publications Java Development Standards | Previous TOC Next |
This section collects my standard project-independent definition of terms. Though these do include terms that are relevant to the areas of specialty I normally deal with (Information Systems), it is only at the highest level.
|
Object |
An identifiable, encapsulated entity that is interacted with by sending messages. Objects have behavior, state, and identity (but see ValueObject for a variation). |
|
Type |
Specifies the public behavior and a conceptual grouping for objects that are members of the Type |
|
Protocol |
Specifies a collection of methods that together provide a higher level interface to an object. An object can be a Type, an object can support a Protocol, and a Type can specify support for a Protocol. Protocol and interface can be synonymous. Certain contexts suggest using one or the other to prevent conflict with a language term (e.g. Javas "interface"). |
|
Class |
Describes the types and the implementation for a set of objects. A class conforms to (or implements) a Type, Protocol, or interface. |
|
Factory |
An object that can create other objects. |
|
Identity |
The ability to tell an object apart from another object independent of whether their type and state is equal. |
|
Immutable |
Can not be changed after being created. |
|
ValueObject |
An object that does not have identity independent of its value. A ValueObject is immutable and should be considered identical to anything that it is equal to. Primitive data types in Smalltalk (such as most numbers and Symbols) are ValueObjects. Java Strings are very close to ValueObjects except they are not guaranteed to be identical for the same value (they would be if they did an automatic "intern()"). Java primitive types are not Objects. |
|
AbstractDataType |
Synonymous with ValueObject in the Object realm. |
|
Attribute |
A public property of an object that shows the state of the object. Frequently there is a minimal collection of attributes that uniquely determine the state of the object. |
|
BasicAttribute |
An attribute that takes its value from ValueObjects. This is as opposed to associations which connect two or more objects with identity. |
|
Association |
A defined relationship between two objects with identity. |
|
Instance Variable |
A private implementation to remember part of an object's state |
|
ObjectShadow |
The information needed to see that an object exists without any true representation of the real object. Relational databases could be considered to work with ObjectShadows: they record the information about an object but never have a real object to interact with. |
|
Proxy |
An object that stands in for another object (the RealObject) and manages the client interaction with the RealObject. |
|
Forwarder |
A proxy which immediately forwards messages, possibly over process and machine boundaries, to the RealSubject. |
|
Replicate |
A proxy which holds local state and performs local operations which are later propagated to the RealSubject |
|
Stub |
A proxy which is simply a placeholder for the RealObject and must become another type of proxy (for example, forwarder or replicate) when interacted with by a client. |
|
RealIdentity |
The identity of the RealObject that a proxy represents instead of the proxys independent identity. For proxies we are rarely interested in their own identity, we just want to know the identity of the RealObject on the server. |
|
IdentityKey |
A value that defines the RealIdentity of a Proxy. |
|
Binding |
Associating a client object to a database object, which turns the client object into a Proxy |
|
Builder |
Builds up another object that can later be extracted |
|
Writer |
Writes information directly to another object (usually another writer or a Stream) |
|
Reader |
Reads information from another object (another Reader or a Stream) |
|
Stream |
Able to sequentially retrieve or store information |
.
![]() |
Previous TOC Next | |
Copyright (c) 1997, Mark L. Fussell. |
mirror of page
http://www.chimu.com/publications/javaStandards/part0014.html