У меня есть класс утилиты, где я сохранил объекты и другие, и классы java называет этот объект. Все переменные и методы здесь статичны. Я хочу знать, хорошая практика это или нет. И есть ли какие-либо угрозы безопасности для моего приложения или нет.Является ли стиль кодирования правильной практикой
public class ObjectHolderUtil {
/**
* Object of the main stage of the application
*/
public static Stage mainStage;
public static HibernateSession hibernateSession;
public static String dashboard="/fxml/Dashboard.fxml"; //dashboard fxml file
public static String mainScreen="/fxml/MainScreen.fxml";
public static String addBill="/fxml/AddBill.fxml";
public static StackPane mainStackPane;
public static User user;
public static Helper helper;
public static String getMainScreen() {
return mainScreen;
}
public static void setMainScreen(String mainScreen) {
ObjectHolderUtil.mainScreen = mainScreen;
}
public static Helper getHelper() {
return helper;
}
public static void setHelper(Helper helper) {
ObjectHolderUtil.helper = helper;
}
public static User getUser() {
return user;
}
public static void setUser(User user) {
ObjectHolderUtil.user = user;
}
public static StackPane getMainStackPane() {
return mainStackPane;
}
public static void setMainStackPane(StackPane mainStackPane) {
ObjectHolderUtil.mainStackPane = mainStackPane;
}
public static Stage getMainStage() {
return mainStage;
}
public static void setMainStage(Stage mainStage) {
ObjectHolderUtil.mainStage = mainStage;
}
public static String getDashboard() {
return dashboard;
}
public static void setDashboard(String dashboard) {
ObjectHolderUtil.dashboard = dashboard;
}
public static HibernateSession getHibernateSession() {
return hibernateSession;
}
public static void setHibernateSession(HibernateSession hibernateSession) {
ObjectHolderUtil.hibernateSession = hibernateSession;
}
}
И я бы назвал объект этого класса, как ObjectHolderUtil.setMainStackPane(mainStackPane);
Рассмотрите возможность использования одноплодной или нормальный класс с одним конкретизации вместо этого? – Bathsheba
Не нужно, чтобы все было статичным. Может быть, класс должен быть Синглтон. Также не публикуйте переменные класса как общедоступные. Они должны быть частными. – Qwerky
@Bathsheba - Если это всего лишь класс утилиты, то сделать собственный конструктор достаточно прав? – TheLostMind