sergeysick666, там смотри может быть ситуация, что ОС временные файлы хранит в ОЗУ, у меня такое было, а еще дисковый кеш может быть там же
Из-за этого потребление выше
Нужно конфигурировать
Денис Загаевский, ну не на столько же) просто нужно сделать прозрачную передачу событий с одного объекта на другой так, чтобы никто(другие программеры) не смог всунуть туда свое событие(объект)
Денис Загаевский, Ну как бы ты сделал:
Модели инстансируются через new, привязки к конкретному серверу быть не должно. Модели добавляются к серверу(на самом деле - нет, но упростим).
Есть 1 объект Server - он получает события нижнего уровня(из юникс/инет сокета), потом передает их моделям, реализующим интерфейс Invokable, которые добавлены к серверу.
*Это менее 5% от того, что на самом делеле там происходит
Задача сделать так, чтобы сервер мог передать событие в модель,т.е. вызвать метод Model::invoke(), а другие-нет
НО Не обязательно иметь интерфейс, т.к. далее разбирается пришедшая команда, затем рефлексией получается нужный protected/private метод на этой же модели и данный метод вызывается..
Все
в общем я сделал абстрактную модель в том же пакете, что и сервер реализован
В а.модели добавил свойство package-private, которое реализует слушатель
Получается у сервера есть к нему доступ и у модели, а у других - нет
Я сначала спроектировал интерфейсами API, а теперь вот на реализации застрял... Поэтому с архитектурой 100%- все гладко и отвечает требованиям
Спасибо
Ошибки в проектировании нет, просто не хочется, чтобы кто-то посторонний, кроме сервера, мог вызывать событие.
Попробую сделать как ты сказал, отпишусь.