OO-Interfaces

Trigger

Easier extensions and uniform name conventions.

Solution

For all important enhancements we decided to implement interfaces which allows us to have a clear defined interface between our core and its enhancements. So we can guarantee that there is less linking between the different components.

For complex interfaces we normally provide an abstract class which implements some functionality that is required in all derived classes. This functionality could be e.g. a list plus helper functions for registering and notifying observers.

The name for this abstract class is put together by the prefix "Simple" or "Abstract" followed by the name of the interface. E.g. if the interface class is called Node_Model the abstract class providing the independend helper stuff would be called Simple_Node_Model and a concrete implementation could be called Root_Node_Model.

We also decided to call the classes which are necessary to work with the RFG "RFG_...". So you can see which classes also have to be adapted if you exchange the RFG.