|
Whereas the
define type behavior captures all objects that the page has access to, the
logic type behavior captures the logical expressions used on the page. Such
usage involves the visibility or enable statuses of segments or elements. These
logical expressions could be explicitly stated in the attributes of the descriptors
without separate behavior definitions. There are some useful purposes for these
definitions. One primary reason is that, in the early part of the
specification, it could be known that a segment would be displayed when the user
has outstanding debt, without knowing, at that point, what expression would
determine this. An entry in the logic type behavior descriptor would capture
this with descriptive ID like user_has_debt; this would then be expanded on
subsequently with the rest of the entries. The definition in one place with
expressive identifier that could be used in many places also has its advantage.
The other
reason is that logical expressions could be cryptic and platform dependent. For
example, a check for empty string could look like this {theString == null ||
theString.lenth()= 0}. dWebSpec defines a minimum set of logical operations, in
plain English. At implementation, or pre-implementation time, these could be
converted to platform specific terms.
|