Commit Graph

8 Commits

Author SHA1 Message Date
AJ
703efd528a Encapsulate mutable collections in Bin and Result
Replace public mutable collection fields/properties with private
backing fields and expose them as IReadOnlyList. Add proper methods
for mutation (AddItem, AddItems, RemoveItem, SortItems).

Changes:
- Bin.Items: Now private with AddItem/AddItems/RemoveItem/SortItems
- Result.ItemsNotUsed: Now readonly with Add methods
- Result.Bins: Now readonly with Add methods
- Updated all engine classes to use new encapsulated APIs

This improves encapsulation and prevents external code from
bypassing business logic by directly manipulating collections.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 16:02:48 -05:00
AJ
2869daf4f7 Remove commented-out sanity check code in MultiBinEngine 2025-10-01 23:26:30 -04:00
AJ
08b3aa9182 Didnt like the name EnhancedBestFitEngine, new one isn't great either but it's better 2025-01-01 00:48:33 -05:00
AJ Isaacs
0b20ac5acf Fixed wrong name 2024-12-09 10:18:10 -05:00
AJ
d3ab49a7d2 Renamed Engine2 to EnhancedBestFitEngine 2023-03-01 21:59:24 -05:00
AJ
b65dd1ec7d Used lower value priority bins first. 2022-02-09 11:22:56 -05:00
AJ
fc557d2500 Cleanup 2021-10-07 09:12:38 -04:00
AJ
28d53e6d38 Multi-bin nesting 2021-10-05 09:24:05 -04:00