Create a business component to encapsulate use cases. For example, if you have a vacation management system, you will have use cases such as applying for a vacation, approving a vacation request, rejecting a vacation request, etc. To do this, you can create a business component (class) called Leave Manager, using methods (functions / operations), for example, Apply, Approve, Reject, etc. These methods will encapsulate your use cases. These methods will cause your business entities and data warehouse classes to be entered and executed by use case.
class LeaveManager{
int Apply(from, to);
bool Approve(leaveApplicationId, approverId);
bool Reject(leaveApplicationId, approverId);
}
Then you can use this business component in your controllers to fulfill a use case by supplying the necessary parameters.
source
share