Assignment
Suppose you have to design a text editor class (TextEditor) that should benefit from multiple variants of a spell cheking algorithm. Users of the TextEditor class would have to supply custom versions of the spell cheking algorithm to support spelling in different languages.
a) What design pattern would you use and why?
b) Write the UML class diagram for the design pattern as it applies to this problem.
c) Write a table that lists the relationship between the names from the identified design pattern and the classes/interfaces from your problem.
d) Write the skeleton Java code for the design: definitions for classes with instance variables and methods as detailed as we can from the problem description.