how do i design/code for optional features?
i am developing a java application that has a primary function and additional
optional ancillary features. i want to be able to enable just the optional
features that the customer wants. the problem i'm having is that my panels
need to reflect only those features that are installed. say a panel has 3
components. component 1 is used regardless of what optional features are
enabled. component 2 is only shown and used if optional feature A is enabled.
component 3 is only shown if both features A & B are enabled. and so forth.
i don't want to have 3 or more versions of the same panel having just the
relevant components. i thought about having some global booleans and using
if statements in my panel construction and validation logic, but that's a
maintenance nightmare. there's got to be a better way. what do you suggest?