powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ограничить доступ к объекту
14 сообщений из 14, страница 1 из 1
Ограничить доступ к объекту
    #38408393
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз, как правильно решить вопрос.

Есть объект MyBO. И есть сервис MyService.
Я не хочу давать возможность исправлять MyBO напрямую, только через соответствующие методы MyService.
Как это правильно сделать?
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408398
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
package private
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408401
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ещё реализацию MyBO сделать вложеным типом MyService. А остальным давать доступ через интерфейс.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408402
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oson,
от соседа программиста лучше не защищаться. Или от кого ограничить?
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408407
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМожно ещё реализацию MyBO сделать вложеным типом MyService. А остальным давать доступ через интерфейс.
Хотя, в итоге, это от package private мало чем отличается.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408533
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Состояние объекта MyBO надо менять синхронно с состояние MyBOEntity в бд.
То есть если надо изменить свойство property1, то его надо сначала изменить у MyBOEntity, а затем в MyBO и вернуть этот MyBO.
Думал положить в один пакет и сделать friendly доступ. Другого не знаю пока.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408544
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще уже Active Record применить.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38408936
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое Active record?
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38409226
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osonСостояние объекта MyBO надо менять синхронно с состояние MyBOEntity в бд.
То есть если надо изменить свойство property1, то его надо сначала изменить у MyBOEntity, а затем в MyBO и вернуть этот MyBO.
а откуда возникает дублирование и рассинхронизация?
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38409868
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Ну например, если я хочу изменить состояние, то меняю MyEntity, а MyBO - это скорее DTO между MyService и другими сервисами в системе

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
class MyService 
{
     public MyBO changeName(String id,String name)
   {
       MyEntity myEntity = dao.getById();
       MyBO myBo = convert(myEntity);
       return myBo;
   }
}



То есть состояние хранить фактически MyEntity.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38409894
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osonэто скорее DTO
я это и подозревал.
Просто читал, что DTO либо устарел, либо трудоёмко в кодировании.
- Если передавать то ссылку на объект.
- Если передавать через гетерогенные среды, то передача "в одну сторону". Они не могут рассогласоваться.
IMHO
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38412810
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123osonэто скорее DTO
я это и подозревал.
Просто читал, что DTO либо устарел, либо трудоёмко в кодировании.
- Если передавать то ссылку на объект.
- Если передавать через гетерогенные среды, то передача "в одну сторону". Они не могут рассогласоваться.
IMHO

Можно объяснить, как "передавать то ссылку на объект" - я не совсем понял.
В Java иначе как ссылка и не передается вроде.

передавать через гетерогенные среды, то передача "в одну сторону" - это вообще что значит?
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38412827
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123я это и подозревал.
Просто читал, что DTO либо устарел, либо трудоёмко в кодировании.
- Если передавать то ссылку на объект.
- Если передавать через гетерогенные среды, то передача "в одну сторону". Они не могут рассогласоваться.
IMHO
DTO это палка о двух концах. При то что они часто могут оказаться тупым дублированием данных, они имеют ряд важных преимуществ над альтернативными подходами. Поэтому единственного верного вывода о том что DTO устарели, или не может быть. Зависит от проекта, требований и выбраной архитектуры.
...
Рейтинг: 0 / 0
Ограничить доступ к объекту
    #38412922
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
конечно. Тут кругом - палка о двух концах.
Поэтому, аффтару вопрос -без DTO работать будет? Как вариант - каждый сервис сам обращается в хранилище данных?
А потом, при _альтернативе_ можно смотреть плюсы и минусы.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ограничить доступ к объекту
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]