У меня в классе много параметров, многие из которых связаны друг с другом.
Во-первых, у меня было что-то вроде:
public class MyClass {
private int[] filterA = {4,40};
private int filterAPasses = 3;
private String dataFilePath = "...";
private int dataChannels = 4;
private int dataFreq = 300;
private int[] timeRange = {30,40};
}
Ну, я был не очень доволен, не легко читался в самих декларациях и не очень удобен в использовании, потому что у меня было много filterA[0]
, где я должен был запомнить значение индекса 0
и индекса 1
.
Итак, вместо этого я сделал:
public class MyClass {
private interface filterA {
int left = 4;
int right = 40;
int passes = 4;
}
private interface dataFile {
String path = "...";
int channels = 4;
int frequency = 300;
}
private interface timeRange {
int from = 30;
int to = 40;
}
}
, что намного лучше и позволяет мне делать хорошие вещи, такие как filterA.left
или даже добавлять javadoc в left
Но почему-то мне не хочется использовать interface
для этого.Это хороший способ?Есть ли лучшие практики для таких вещей?
Редактировать:
Хорошо, я был совершенно неправ, так как я не знал, что использование interface
эти параметры будут окончательными.Это определенно не хороший способ.Так что же хорошего?