Я написал клиентское приложение, которое имеет:
- Типы и методы данных управления сеансами (
createSession()
, connect()
, disconnect()
, et c ...) - Domain-Specifi c -языковые методы для работы с объектами, обрабатываемыми сервером (
createVM()
, startVM()
, et c ...) - Локальная подготовка данных (
formatDataForVmTypeA()
, extractValueFromResponse()
, et c ...)
Моя проблема в том, что все это в одном классе: OldStyleClient
A. Это слишком много кода для одного файла - мне сложно что-то находить, хотя я и написал все там Б. Я хочу поднять часть кода в его собственный объект, чтобы я мог выполнять некоторые ОО-операции в инкапсулированной части Клиент.
В своем сумасшедшем воображении я хотел бы иметь возможность сделать что-то вроде этого:
import ClientSession; // Backbone of the client data and methods (session handling, etc...)
import ClientDSL; // contains doThis(); method
import ClientChecks; // contains checkRC(); method
ClientSession currentSession = new ClientSession();
currentSession.doThis();
currentSession.checkRC();
Я слышал, что могу использовать интерфейсы для достижения много-к-одному наследование, но я думаю, что интерфейсы - не лучшая ставка для меня: их главная цель, кажется, заключается в том, чтобы создавать контракты на уровне кода, когда программисты пишут класс, который должен общаться с другим классом, а множественное наследование является просто побочным эффектом.
Есть ли способ как-то сказать Java что-то вроде: «Я хочу, чтобы методы из ClientDSL были применимы к объектам« ClientSession »?
Кроме того, как правильно назвать проблему Я пытаюсь решить (для того чтобы лучше искать решения)?