Design patterns using java

Job ID: 36350801

Budget: $30 – $250 USD

You are assigned to develop a KWIC project. In this project, there are mandatory four
parts, each of which has two alternative features.
Part A: (1) input all lines from console; and (2) input all lines from a text file.
Part B: (1) shift a line in clockwise order; and (2) shift a line in counterclockwise order;
Part C (1) sort all lines in alphabetized order; and (2) sort all lines in reverse-alphabetized order;
Part D (1) output in plain text; and (2) output in GUI.

design this above instructions using the design patterns such as Abstract Factory Pattern, Builder Pattern, Singleton Pattern and prototype