I am the designer of an interface IModel, which will be used by the implementer of a the controller (MVC). The interface contains funcA().
Another programmer needs to implement a specific class for the IModel.
I want to direct the implementation of funcA() to use another function, funcB(). This forces some functionality of the specific model class to be transparent. For example, the interface contains openFile(), but the specific class must contain the transparent functionality of encrypting the file.
What is better?
- Defining two interfaces: I1 for the controller side, and another one, I2, for those who implement the model class, where I2 extends I1.
- My own implementation of an abstract class like
AbsModelwhich implementsImodeland contains abstract functions.