Define default values via explicit protocol pattern

From CSSEMediaWiki
Revision as of 06:54, 18 October 2010 by Jenny Harlow (Talk | contribs)
Jump to: navigation, search

This axiom is contained in Pattern Languages of Program Design and republished in Ken Auer 1995.

The problem is that if you define default values as initialisation in any constructor or class method then you have to be able to find all places where this default is used if you want to change it, Or you would have to override the methods that are doing the initialisation.

The solution

Create a method that sets the default value for the field in question with the name defaultFieldname and using this in all cases to initialise the field.

OR

Create a class to take the place of the default value and use this class wherever an object of this type needs a default value. A good example of this is Introduce Null Object.

See also

Personal tools