Question: Dependency Inversion Principle: high-level modules should not depend upon low level modules. Both should depend upon abstraction. The following code is an implementation of a

Dependency Inversion Principle: high-level modules should not depend upon low level modules. Both should depend upon abstraction. The following code is an implementation of a login function for MySocialNetwork, but it violates the Dependency Inversion Principle. a. Explain why the code violates the Dependency Inversion Principle (15 marks) b. Rewrite the code to make it conform with the principle (15 marks) public class My HCMIU Email { public void loginwithstudentID (String username, string password) { /* IEEE...! 1 } } ww public class MySocialNetwork { private My HCMIU Email loginservice; public void setLoginservice (My HCMIU Email value) { loginService = value; } public bool login (String username, String password) { return loginservice: loginwithstudentID (username, password); } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
