3. 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 b. Rewrite the code to make it conform with the principle public class My HCMIU_ Email { public void loginWithStudentID(String username, String password) { /* .....*/ } } 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); }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter13: Overloading And Templates
Section: Chapter Questions
Problem 19PE
icon
Related questions
Question
3. 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
b. Rewrite the code to make it conform with the principle
public class My HCMIU Email {
public void loginWithStudentID(String
username, String password)
{
*/
}
}
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);
}
}
Transcribed Image Text:3. 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 b. Rewrite the code to make it conform with the principle public class My HCMIU Email { public void loginWithStudentID(String username, String password) { */ } } 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); } }
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Fundamentals of Component based Engineering
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning