I'm creating a web app using an MVC framework. I thought of adding a layer between the controller and the domain models, I think it's called application layer in DDD, to avoid putting logic that is specific to a certain use case in the domain models. The controller will only interact with this layer and this layer will orchestrate the operation using the domain models. This layer will be kept as thin as possible pushing all the logic that is not use case specific to the domain model. I will call the classes that belong to this layer DomainCtrl.
Example login scenario: Model: LoginForm DomainCtrl: AuthCtrl UI: ui controller
1.ui controller receives request 2.creates instance of AuthCtrl 3.AuthCtrl creates instance of a LoginForm and fill it with request data passed to authCtrl 4.LoginForm performs the login 5.authCtrl does other things that are specific to this specific way of login -> returns errors to ui controller
Is this a good way to organize an app?