This presentation is part of the Reusability and Specialization e-Learning Course.
Follow these guidelines to decide which specialization technique to implement in your application:
- Use classes to specialize your most important and systemic criteria. For example, lines of business or products or divisions of your organization should be specialized based on classes. These aspects of your application are most likely to have specific reporting and/or security requirements, both of which are easier to implement with classes
- Take advantage of both directed and pattern inheritance. Using both types of inheritance will provide a more robust foundation for reuse and specialization
- Create RuleSets for each specialization that may need to be managed and released on its own schedule. This will allow you to have more flexibility in managing rules and configuration management
- When rules need to be specialized by date, use date circumstancing
- Use property circumstancing when new circumstanced values are likely to be introduced frequently or when very few rules need to be circumstanced by a given property
In the end, the requirements of your application must be taken into careful consideration when making decisions.