Я объединяю ветку CVS, и одно из самых больших изменений — это замена шаблона Singleton везде, где он встречается, абстрактными классами со статическим блоком инициализации и всеми статическими методами.
Стоит ли это сохранить, так как это потребует слияния множества конфликтов, какую ситуацию я бы рассматривал, чтобы этот рефакторинг был целесообразным?
Мы запускаем это приложение под Weblogic 8.1 (так что JDK 1.4.2)
простите, Томас, позвольте мне уточнить..
версия HEAD имеет традиционный одноэлементный шаблон (закрытый конструктор, getInstance() и т. д.)
версия ветки не имеет конструктора, является «общедоступным абстрактным классом» и изменила все методы объекта на «статические». Код, который раньше существовал в приватном конструкторе, перемещается в статический блок.
Затем все варианты использования класса изменяются, что вызывает множественные конфликты при слиянии.
Есть несколько случаев, когда это изменение было сделано.