Ребята, извините, пожалуйста, определитесь между собой и объясните, мне, чайнику, как лучше сделать. Если у меня одни реализации (TransactionCreatorOfNewId, TransactionSorter) интерфейсных классов (вместо самих интерфейсов ICreatorOfNewId, ISorter) - лежат там, где они используются. Другая - одна реализация JsonRepository лежит в инфраструктуре, т. е. там, где нет других мест в этом модуле, где вызываются методы этой реализации. Помогите.
Пума Тайланд, Спасибо за наставление про нарушение границ слоёв - я понимаю, что вы говорите про то, что не нужно, чтобы извне мы обращались к защищённому атрибуту _transactions, а использовали методы self.get_transactions(), например.
Насчёт этого
бери один сценарий и трассируй его дебаггером с брейкпоинтами, смотри call stack.
- я так понимаю, что вы предлагаете через режим отладки посмотреть цепочку вызовов методов и всё?
Касательно того, зачем мне это надо, я просто теряюсь в коде, когда размер превышает +- 500 строк - приходится долго листать от одного до другого и добавление 1-й фичи занимает много времени даже несмотря на то, что архитектура более менее соответствует требованиям.
Все равно остаётся ошибка.
Вот мой репозиторий на github:
https://github.com/xaocit/MyManager