github.com/alloyzeus/go-azfl@v0.0.0-20231220071816-9740126a2d07/azcore/service.go (about) 1 package azcore 2 3 // ServiceConfig provides a contract for all of its implementations. 4 type ServiceConfig interface { 5 AZServiceConfig() 6 } 7 8 // Service provides an abstraction for all services. 9 type Service interface { 10 AZService() 11 } 12 13 // ServiceModule provides an abstraction for all kind of service modules. 14 type ServiceModule interface { 15 AZServiceModule() 16 } 17 18 // ServiceContext is an abstraction for service-related contexts. 19 type ServiceContext interface { 20 Context 21 22 AZServiceContext() 23 } 24 25 // ServiceError is an abstraction for all errors emitted by a service. 26 type ServiceError interface { 27 Error 28 29 AZServiceError() 30 }