Я немного борюсь с тем, как проектировать систему для отслеживания счетов и платежей. В настоящее время у меня есть два функционирующих объекта (Bill
и Payment
), но не могут рассчитывать на способ отслеживания учета между ними.Объектно-ориентированный дизайн для платежей и счетов?
По сути, мне просто нужно знать, какие конкретные счета были погашены, и общий баланс после учета. Я полагаю, что могу сделать это двумя способами:
1) Создайте отдельную таблицу учета, в которой я отслеживаю каждую транзакцию, сопоставляя конкретный законопроект с конкретным платежом. Это позволило бы мне легко найти в базе данных, сколько осталось на конкретном счете. Недостатком является то, что это похоже на большую сложность, поскольку мне нужно создать новую запись в этой таблице всякий раз, когда создается новый объект.
2) Постарайтесь просто написать логику, чтобы вычислить на лету, сколько осталось на конкретном Билле, просматривая всю историю транзакций и делая учет. С положительной стороны это гарантировано всегда будет правильным, но кажется неправильным продолжать делать один и тот же расчет снова и снова, чтобы получить то, что должно быть статическим значением.
Кто-нибудь сталкивался с таким вызовом в прошлом, и если да, то как вы его решили? Есть ли какая-то лучшая практика, которую я просто пропустил?
Это похоже на то, что я прочитал за последние несколько дней о том, как разрабатываются другие системы учета. Спасибо за помощь! – Bryce