powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Интерфейсы, использование
8 сообщений из 8, страница 1 из 1
Интерфейсы, использование
    #38617338
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Мне нужно написать сервис, который будет сохранять данные в БД.

По заданию сервис обладает следующим интерфейсом:

public interface AccountService
{
/**
* Retrieves current balance or zero if addAmount() method was not called before for specified id
*
* @param id balance identifier
*/
Long getAmount(Integer id);
/**
* Increases balance or set if addAmount() method was called first time
*
* @param id balance identifier
* @param value positive or negative value, which must be added to current balance
*/
void addAmount(Integer id, Long value);
}

Также в программе нужно написать клиента, который должен уметь запускать нескольно конкурентных потоков на определенном подмножестве идентификаторов.

Зачем в данном задании нужно использовать интерфейс и как использовать?

Спасибо.
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38617381
For All
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку есть интерфейс, то, видимо, будет и реализация:
Код: java
1.
public class AccountServiceImpl implements AccountService { ... }


Так вот клиент, который запускает потоки, будет имметь ссылку на объект типа AccountService:
Код: java
1.
2.
3.
4.
public class Client {
   private final AccountService service;
   ...
}

Совершенно неправильно поле service объявлять имеющим тип AccountServiceImpl
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38617402
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!

Если я хочу делать эту программу в Intellij Idea мне нужно создать 2 проекта:

1. Проект с кодом сервера
2. Проект с кодом клиента
?

Или для начала лучше сделать все в одном проекте?

Реализацию интерфейса писать в коде сервера?

авторТак вот клиент, который запускает потоки, будет имметь ссылку на объект типа AccountService:

Если AccountService - это интерфейс, то что будет в переменной service. Как с ней работать и что в ней будет доступно?
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38617425
For All
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusЕсли я хочу делать эту программу в Intellij Idea мне нужно создать 2 проекта:

1. Проект с кодом сервера
2. Проект с кодом клиента
?

Или для начала лучше сделать все в одном проекте?Для начала лучше в одном прокте, но в разных пакетах (чтобы потом легче разделить было)

mr_virtusРеализацию интерфейса писать в коде сервера?Да

авторЕсли AccountService - это интерфейс, то что будет в переменной service. Как с ней работать и что в ней будет доступно?Через ссылку service (типа интерфейс) будут доступны методы, объявленные в интерфейсе. Саму ссылку нужно проинициализировать экземпляром объекта реализующего этот интерфейс:
Код: java
1.
2.
3.
4.
5.
AccountService service;
...
service = new AccountServiceImpl();
service.addAmount(id, value);
service.getAmount(id);
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38617441
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For All,

Понятно, спасибо Вам большое!
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38618906
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я поставил базу данных java db и установил её по ссылке:



Также у меня есть интерфейс:

Код: java
1.
2.
3.
4.
public interface AccountService {
    Long getAmount(Integer id);
    void addAmount(Integer id, Long value);
}



и заготовка реализации:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class AccountServiceImpl implements AccountService{
    public Long getAmount(Integer id){
        return null;
    }
    public void addAmount(Integer id, Long value){
        
    }
}



Все это в пакете - package srv_pkg;

Дальше мне нужно реализовать -

"Сервис должен кэшировать данные в памяти и сохранять данные в БД (Oracle, PostgreSQL, MySQL)"

Мне для этого использовать пакет java.sql.* и создавать объект Connection? Хотя в IDE я по инструкции базу подключил.

Или нужно писать по-другому?
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38618908
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссылка не вставилась:

https://netbeans.org/kb/docs/ide/java-db_ru.html
...
Рейтинг: 0 / 0
Интерфейсы, использование
    #38722944
true_cube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mr_virtus,

получил такое же задание для прохождения стажировки.
Проконсультируйте пожалуйста, вообще не знаю как подступиться
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Интерфейсы, использование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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