Use Case 6: Used dependency injection, used design pattern similar to builder design, and used observer design pattern and iterator design pattern by implementing Java.Flow from the Java Reactive Streams API. Use case 7: Demonstrate OCP by dependency inject through using abstraction to loosely decou...