В основном я хочу создать маршрутизатор, который можно использовать следующим образом:
router.register(someInstance::getData)
router.register(someInstance::submitData)
, где getData и submitData являются экземпляром
getParam : KFunction1<GetParam, GetResponse>
submitData : KFunction1<SubmitParam, SubmitResponse>
, где GetParam, GetResponse,SubmitParam, SubmitResponse - это класс, который реализует соответствующие интерфейсы (IParam, IResponse)
внутри регистра, это выглядело бы как
val routeMap = mutableMapOf<String, KFunction1<IParam, IResponse>
fun register<P : IParam, R : IResponse>(func : KFunction1<P, R>) {
routeMap["abc"] = func
}
, единственная проблема сейчас заключается в том, что мне кажется, что я не могуполучить прямой доступ к KFunction1 (поэтому я не могу их сохранить)
Идея состоит в том, чтобы создать какой-то маршрутизатор, который мог бы регистрировать и вызывать зарегистрированные функции позже.Если у кого-то есть какие-либо идеи о том, как это реализовать, не стесняйтесь давать предложения