Я унаследовал огромную систему от своего предшественника, и я начинаю понимать, как она работает, но я не могу понять, почему.
Это в Java и использует интерфейсы, которые, должны добавить дополнительный слой, но они добавляют5 или 6.
Вот как это происходит при нажатии кнопки интерфейса пользователя, которая вызывает функцию, которая выглядит следующим образом:
foo.create(stuff...)
{
bar.create;
}
bar.create
точно так же, за исключением вызовов foobar.creat
а это в свою очередь вызывает barfoo.create
.это проходит через 9 классов, прежде чем он находит функцию, которая обращается к базе данных.
Насколько я знаю, каждый дополнительный вызов функции влечет за собой увеличение производительности, так что это кажется мне глупым.
также в foo.create
все переменные проверяются на ошибки, это имеет смысл, но при каждом другом вызове проверки ошибок повторяются, это похоже на вырезание и вставку кода.Это похоже на безумие, так как после того, как переменные проверены, когда их не нужно проверять, на мой взгляд, это всего лишь процессорные циклы.
Это мой первый проект, использующий Java и интерфейсы, поэтому я просто запуталсяк тому, что происходит.
Кто-нибудь может объяснить, почему система была спроектирована таким образом, какие у нее есть преимущества / недостатки и что я могу сделать, чтобы улучшить ее, если она плохая?
Спасибо.