I have an abstract class Employee
that implements interface IEmployee
and is further composed of abstract classes like EmploymentType
. I have used Abstract
classes, so as to avoid code duplication for common functionality among sub classes.
So I want to ask following questions:
- Does moving abstract methods from abstract classes to interfaces will improve the design?
- Secondly, Are
Interfaces
better thanAbstract
classes for big projects? The reason why I am asking this is because I have seen a lot of enterprise applications where interfaces are used a lot more than abstract classes. Which gives an impression that using interfaces is the right way to build enterprise applications.