SubclassResponsibility

I am SubclassResponsibility, an exception signaled when an inherited method should have been implemented in a subclass but was not.

The `subclassResponsibility` message sets up a framework for the behavior of the class' subclasses.

Announce that the subclass should have implemented this message.

~

All applications have to deal with exceptional situations.

A business model will normally be composed of a basic case or abstraction that is specialized and/or refined to capture the diversity present in the business. However, there will often be circumstances where the inclusion of all business possibilities in the class hierarchy would be confusing, difficult or otherwise inappropriate. You will, at times need to extend the range of an attribute beyond that offered by a Whole Value.

Beside using the handful of literal values offered by the language (numbers, strings, true and false), and an even smaller complement of objects normally used as values (date, time, point), you will make and use new objects that represent the meaningful quantities of your business. These values (values like currency, calendar period or telephone number) will carry whole, useful chunks of information from the user-interface to the domain model.