D
Size: a a a
D
IP
for {
env<- ZIO.access[MySeviceDependencies](d=>d)
} yield new MyService(env)
Oℕ
for {
env<- ZIO.access[MySeviceDependencies](d=>d)
} yield new MyService(env)
Oℕ
type MySeviceDependencies = Clock with Foo with Bar?
IP
Oℕ
IP
type MySeviceDependencies = Clock with Foo with Bar?
Oℕ
IP
IP
Oℕ
Oℕ
A
P
P
trait Service[F[_]]То есть на каждый новый экземпляр
trait Context[F[_]]
object Service {
def of[F[_]](globalThing: GlobalThing[F]): (Service[F], Context[F])
}
Service[F]
я хочу отдавать какой-то интерфейс, который относится к нему, но совершенно необязательно имеет подмножество его фукнциональнсости (напирмер Context[F]
умеет удалять Service[F]
из глобального хранилища в GlobalThing[F]
, про которое Service[F]
сам ничего не знает).NV
trait Service[F[_]]То есть на каждый новый экземпляр
trait Context[F[_]]
object Service {
def of[F[_]](globalThing: GlobalThing[F]): (Service[F], Context[F])
}
Service[F]
я хочу отдавать какой-то интерфейс, который относится к нему, но совершенно необязательно имеет подмножество его фукнциональнсости (напирмер Context[F]
умеет удалять Service[F]
из глобального хранилища в GlobalThing[F]
, про которое Service[F]
сам ничего не знает).Service[F] with Context[F]
?Oℕ
Service[F] with Context[F]
?P
Service[F] with Context[F]
?Context[F]
может быть больше или другие методы.Oℕ
Context[F]
может быть больше или другие методы.