Remove the LexiconIOService class in favour of a generic IOService with the use specific details handled by an interface layer.
Context
LexiconIOService is (almost) functionally identical to other _IOService types.
A generic IOServiceAPI could sit between the caller and IOService and implement the specific requirements of that service without creating and entirely new class.
As an engineer
I want to have access to a standard IOService with customization options
So that I can simplify the code base for future maintenance
Examples:
[x] When a file prefix and format are specified a standardized IOService is returned
[x] A future data structure does not have to use the customization options
Tasks:
[x] Create IOServiceAPI with file prefix, IOService, and data format options.
[x] Ensure tests pass for existing Lexicon class
[x] Backup Lexicon data files
[x] Change Lexicon class references from LexiconIOService(...) to IOServiceAPI("LEX",...)
Goal
Remove the LexiconIOService class in favour of a generic IOService with the use specific details handled by an interface layer.
Context LexiconIOService is (almost) functionally identical to other _IOService types.
A generic IOServiceAPI could sit between the caller and IOService and implement the specific requirements of that service without creating and entirely new class.
As an engineer I want to have access to a standard IOService with customization options So that I can simplify the code base for future maintenance
Examples:
Tasks: