PM-PTN-0030

A Partition is not a Filter and not a Component

A Partition, if adopted, MUST NOT be modelled as a Filter, a Component or a subclass grouping. It MUST be metadata on a Thing's States and MUST NOT affect composition.

Non-normative, and it is here to head off the cheap implementation. It is tempting to express partitions by splitting a Thing into two Things and coupling them with a Filter, because that uses only existing constructs. It is wrong: it doubles the instance count, makes the two dimensions separately addressable when they belong to one object, and gives the wrong answer to "what is this order's state" for every query anyone will actually write.

DESIGN MUST NOT · draft · area PTN · since 0.1.1

Source

No source citation — trust token DESIGN; see the reasoning above.