Within request pipeline in Asp.net core 1.1, the requests travel through middlewares one by one to reach the Mvc. Interestingly, Mvc has another pipeline architecture to entertain the request called Filter pipeline. Just like middlewares, Mvc filters also entertain request one by one and can return the response if a filter decides not to process the request any further (called short circuiting the response). The filter pipeline runs after Mvc selects the action to be executed by processing the routing data.
How to identify the dependencies? Its really simple. You need to divide your application into smaller possible components. Lets assume the smallest component we are talking about is a class. A class provides the definition of attributes and behaviors, of an object. An object can perform certain responsibilities (behaviors). To perform these responsibilities they may need to initiate other smaller components. Tada! here comes the dependency.