tnunnink / L5Sharp

A library for intuitively interacting with Rockwell's L5X import/export files.
MIT License
55 stars 6 forks source link

Wip simlification #2

Closed tnunnink closed 1 year ago

tnunnink commented 1 year ago

This is essentially a new line of development branch that sought to reduce the overall complexity of the code base by trying to achieve the following goals.

  1. Condense overuse of interfaces down to core class types with names as one would expect.
  2. Remove interdependencies between components so that deserialization would become much easier and free the user the overhead of having to deserialize more than is needed.
  3. Remove internal validation and complex modelling of components that attempted to mimic what Logix does internally. The library is not about recreating what you can do in Logix, but about querying and generating XML. Everything else is not important.
  4. Provide a cleaner and easy to understand entry point API, with the ability to extend externally as required.
  5. Removed all underdeveloped code, such as factories and builders, to focus on the core/primary task of just mapping XML to strongly typed objects.