ITK/Design Principles: Difference between revisions
(Created page with "This page contains the software design principles adopted in the Insight Toolkit (ITK) = Object Oriented = == Modes vs Objects =") |
Daviddoria (talk | contribs) m (moved ITK Design Principles to ITK/Design Principles) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | |||
This page contains the software design principles adopted in the Insight Toolkit (ITK) | This page contains the software design principles adopted in the Insight Toolkit (ITK) | ||
= Object Oriented = | = Object Oriented = | ||
== Modes vs Objects = | == Modes vs Objects == | ||
'''Modes''' here refer to the option of enabling alternative behaviors in a class by introducing flags (booleans or enums) that switch the class behavior at run time. | |||
'''Objects''' here refer to the option of implementing alternative behaviors by introducing a family of classes where each class implement one and only one specific behavior. | |||
Guideline: | |||
'''Modes''' should be preferred over '''Objects''' when it is anticipated that a common use case, is to change those behaviors at run time during the use of an application. | |||
'''Objects''' should be preferred over '''Modes''' when it is anticipated that the choices will be made at compilation time and that rarely need to be changed at run time. |
Latest revision as of 01:26, 11 February 2012
This page contains the software design principles adopted in the Insight Toolkit (ITK)
Object Oriented
Modes vs Objects
Modes here refer to the option of enabling alternative behaviors in a class by introducing flags (booleans or enums) that switch the class behavior at run time.
Objects here refer to the option of implementing alternative behaviors by introducing a family of classes where each class implement one and only one specific behavior.
Guideline: Modes should be preferred over Objects when it is anticipated that a common use case, is to change those behaviors at run time during the use of an application.
Objects should be preferred over Modes when it is anticipated that the choices will be made at compilation time and that rarely need to be changed at run time.