macxred / pyledger

Python package to streamline the implementation and management of accounting systems.
MIT License
0 stars 0 forks source link

Clarify Class Hierarchy #10

Open lasuk opened 2 months ago

lasuk commented 2 months ago

New Class Inheritance Diagram

LedgerEngine (Abstract Base Class)
   |
   +-- StandaloneLedger
   |    |
   |    +-- PersistentLedger
   |    |    |
   |    |    +-- TextLedger
   |    |
   |    +-- MemoryLedger
   |         |
   |         +-- TestLedger
   |
   +-- ExternalLedger
       |
· · · · · · · · · · · · · · · · · · · · (External Packages Below)
       |
       +-- CashCtrlLedger
       |
       +-- ProffixLedger (Decommissioned)

Tasks:

  1. Introduce new PersistentLedger and ExternalLedger classes in the class hierarchy. These classes do not implement any functionality ATM; they merely improve clarity and readability of the class hierarchy.

  2. Update README to reflect the new hierarchy. A proposal for the new README is pushed to commit c0ce8b3 in branch refactor-class-hierarchy.

  3. Move mirroring logic to the pyledger class