У меня есть несколько классов, которые я разработал, которые я использую в приложении для Android. У меня около 6-7 классов в этом ядре, некоторые из них являются абстрактными классами с абстрактными методами. Эти классы были созданы, чтобы предоставить API для расширения моего Android-приложения.
Теперь я хочу создать расширяемую систему, которая принимает правила перезаписи. Эти правила полезны для замены некоторых компонентов во время выполнения. Представьте себе систему с математическими операциями, в которой вы видите все суммы, умножения и т. Д. Теперь вы можете уменьшить масштаб, и я хочу упростить некоторые операции в зависимости от уровня масштабирования.
Моя система была построена на Java, но я верю, что scala с сопоставлением с образцом упростит мою проблему. Тем не менее, каждый раз, когда я смотрю на scala, я вижу много времени, которое мне приходится тратить, и много проблем при настройке IDE ...
Мои классы созданы для создания структур, подобных этой:
Я хочу иметь возможность писать правила, которые создают блок, содержащий другие блоки. Что-то вроде:
Integer Provider + Integer Provider -> Sum Provider
Sum Provider + Sum -> Sum Provider
Правила могут быть созданы программистами. Любой элемент моей структуры также может быть построен программистами. Я не знаю, упрощает ли scala эту систему обработчиков правил, но я знаю, что этот движок в java может быть скучным (вероятно, будет создано много ошибок, я забуду некоторые случаи и т. Д.).
Должен ли я изменить всю свою систему на scala? Или есть далеко, чтобы использовать только эту функцию скала? Стоит ли это того?
PS: Для получения дополнительной информации о структуре, пожалуйста, смотрите этот пост на Пользовательский опыт .