Я разрабатываю библиотеку, которая будет использоваться клиентским кодом третьей части. В моей библиотеке мы создаем экземпляр для класса SocketJobModel, который используется для отправки данных через сокет. Во всех экземплярах объекта SocketJobModel
нам нужно выполнить какое-то задание на регистрацию, в настоящее время я разрешаю всем экземплярам объекта SocketJobModel
использовать один и тот же объект регистрации через статический файл класса Factory
, должен ли я это сделать? Если мой объект IMessageLogger
является потокобезопасным, это нормально?java, статическое поле или поле экземпляра?
public class Factory {
static IMessageLogger msgLogger;
public static SocketJobModel create(){
return new SocketJobModel();
}
}
редактировать
Примечание: IMessageLogger
будет реализован клиентский код клиента code.And может использовать различные базы данных каротажа, log4j и JDK протоколирования или что-то еще. Этот сервер интерфейса в качестве адаптера для другого механизма ведения журнала, используемого клиентским кодом. И почему я хочу использовать статическое поле в первую очередь? для уменьшения использования памяти.
не должен ли вы добавлять msgLogger IMessageLogger внутри SocketJobModel? – shikjohari