Defines low level general purpose interfaces.
Package Specification
This package hosts a collection of simple but extremely useful low level interfaces
that serve as a foundation layer to more complex and specialized components. The cornerstone
of this collection is INamed interface, which should be implemented by all components
that can be referenced by name within a certain context. For example, a logging framework
might contain a number of named loggers. Another example is an MVC web site that has
a collection of named views. The simple convention imposed by this interface enables
a polymorphic behavior across wide variety of heterogeneous objects in the application.
Similar rationale applies to other interfaces in this package:
- IKeyed defines convention for all components that can be identified by numeric
ID, such as user value objects that have a numeric user ID.
- ITyped defines convention for all components that have type. Ex. a VO that
describes a field of primitive type must specify a data type (int, long, string)
- IDual is a for components that can be referenced by name and ID. Ex. each unique user
must have a unique login name and numeric primary key.
- IItem is similarly a combination of INamed and ITyped
The other simple interfaces in this package designed to define simple specifications that are generally
application agnostic.
@since 12/15/2004