![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Положим есть такой код
SettingsManager - синглетон, который при запуске приложения получает настройки, которые в свою очередь подкачиваются из базы. У меня есть одно важное поле (fooSwitch), которое будет использоваться и тут и там, НО только в пределах одной иерархии классов, конкретно только наследниками AbstractClass. Вопрос: Какой паттерн или лучшее возможное решение вы предложите, чтобы расшарить это поле между наследниками AbstractClass'а? Важно понимать я могу присвоить значение этому полю только в методе init() и при этом мне хочется, чтобы максимальное количество классов получило к нему доступ readonly как только завершится выполнение метода AbstractClass#init() -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
Метод инит вызовите в единственном конструкторе АбстрактКласса, который должен обязательно вызыватся наследниками. А что бы дать ридонли доступ, создайте для своего свойства ещё некий протектед геттер ... |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Тут есть такая проблема, метод init() вызывается при инициализации приложения, поэтому похоже единственный возможный для меня вариант действий - это создать protected static геттер и вызывать его от случая к случаю -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |