Is your feature request related to a problem? Please describe.
There is currently some confusion between interfaces and base classes. The codebase should be restructured so that interfaces define only the essential contract (i.e., method signatures and expected behavior), without embedding implementation details.
Where appropriate, base classes should be introduced to encapsulate shared logic and provide reusable functionality for derived classes.
The domain module can be used as a reference for a clearer and more consistent separation between interfaces and base implementations.
Modules to be changed:
Is your feature request related to a problem? Please describe.
There is currently some confusion between interfaces and base classes. The codebase should be restructured so that interfaces define only the essential contract (i.e., method signatures and expected behavior), without embedding implementation details.
Where appropriate, base classes should be introduced to encapsulate shared logic and provide reusable functionality for derived classes.
The
domainmodule can be used as a reference for a clearer and more consistent separation between interfaces and base implementations.Modules to be changed: