Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ограничить доступ к объекту / 14 сообщений из 14, страница 1 из 1
26.09.2013, 13:42:14
    #38408393
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Подскажите плиз, как правильно решить вопрос.

Есть объект MyBO. И есть сервис MyService.
Я не хочу давать возможность исправлять MyBO напрямую, только через соответствующие методы MyService.
Как это правильно сделать?
...
Рейтинг: 0 / 0
26.09.2013, 13:44:20
    #38408398
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
package private
...
Рейтинг: 0 / 0
26.09.2013, 13:45:15
    #38408401
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Можно ещё реализацию MyBO сделать вложеным типом MyService. А остальным давать доступ через интерфейс.
...
Рейтинг: 0 / 0
26.09.2013, 13:45:25
    #38408402
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
oson,
от соседа программиста лучше не защищаться. Или от кого ограничить?
...
Рейтинг: 0 / 0
26.09.2013, 13:46:57
    #38408407
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
BlazkowiczМожно ещё реализацию MyBO сделать вложеным типом MyService. А остальным давать доступ через интерфейс.
Хотя, в итоге, это от package private мало чем отличается.
...
Рейтинг: 0 / 0
26.09.2013, 14:52:41
    #38408533
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Состояние объекта MyBO надо менять синхронно с состояние MyBOEntity в бд.
То есть если надо изменить свойство property1, то его надо сначала изменить у MyBOEntity, а затем в MyBO и вернуть этот MyBO.
Думал положить в один пакет и сделать friendly доступ. Другого не знаю пока.
...
Рейтинг: 0 / 0
26.09.2013, 14:56:03
    #38408544
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Проще уже Active Record применить.
...
Рейтинг: 0 / 0
26.09.2013, 19:30:50
    #38408936
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Что такое Active record?
...
Рейтинг: 0 / 0
27.09.2013, 08:44:10
    #38409226
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
osonСостояние объекта MyBO надо менять синхронно с состояние MyBOEntity в бд.
То есть если надо изменить свойство property1, то его надо сначала изменить у MyBOEntity, а затем в MyBO и вернуть этот MyBO.
а откуда возникает дублирование и рассинхронизация?
...
Рейтинг: 0 / 0
27.09.2013, 14:11:24
    #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
27.09.2013, 14:23:00
    #38409894
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
osonэто скорее DTO
я это и подозревал.
Просто читал, что DTO либо устарел, либо трудоёмко в кодировании.
- Если передавать то ссылку на объект.
- Если передавать через гетерогенные среды, то передача "в одну сторону". Они не могут рассогласоваться.
IMHO
...
Рейтинг: 0 / 0
01.10.2013, 11:57:20
    #38412810
oson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить доступ к объекту
Petro123osonэто скорее DTO
я это и подозревал.
Просто читал, что DTO либо устарел, либо трудоёмко в кодировании.
- Если передавать то ссылку на объект.
- Если передавать через гетерогенные среды, то передача "в одну сторону". Они не могут рассогласоваться.
IMHO

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

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


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