Хэндшейк, сервисы, аннотационные блокировки в протоколе, репозитории

This commit is contained in:
RoyceDa
2026-02-03 05:42:46 +02:00
parent 4c290a01ac
commit 9b715df09d
12 changed files with 457 additions and 20 deletions

View File

@@ -0,0 +1,23 @@
package com.rosetta.im.service;
/**
* Базовый класс для всех сервисов. Нужно чтобы унифицировать доступ к репозиториям,
* а так же не раздувать логику в executor'ах. Так код в executor'ах будет чище и
* проще для понимания. Для атомарных операций с сущностями сервисы не используются, они используются только для
* более сложной логики, требующей взаимодействия с несколькими репозиториями или
* иной бизнес-логики.
* @param <T> тип репозитория
*/
public abstract class Service<T> {
private T repository;
public Service(T repository) {
this.repository = repository;
}
public T getRepository() {
return repository;
}
}