Я прочитал «Эффективную Java», и в пункте 5 мне сказали, что я предпочитаю внедрение зависимостей жестким ресурсам.
Но сразу же в следующем пункте есть пример, который нарушает его.
public class RomanNumerals {
private static final Pattern ROMAN = Pattern.compile(
"^(?=.)M*(C[MD]|D?C{0,3})"
+ "(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$");
static boolean isRomanNumeral(String s) {
return ROMAN.matcher(s).matches();
}
}
Разве класс RomanNumerals
не зависит от класса Pattern
?
Почему бы нам не ввести его?