I have a project A with an IWorker dependency which has many dependencies (context, repositories, etc.). How can I implement IWorker in project B without registering all dependencies? Or what is the correct way to call IWorker in project B?
Example:
Dependency:
public interface IDependency
{
public void SomeMethod();
}
public class SimpleDependemcy : IDependency
{
public void SomeMethod()
{
//Logic
throw new NotImplementedException();
}
}
Worker:
public interface IWorker
{
public void DoWork();
}
public class Worker : IWorker
{
private readonly IDependency _dependency;
public Worker(IDependency dependency)
{
_dependency = dependency;
}
public void DoWork()
{
//Do something
throw new NotImplementedException();
}
}
Registration in project A:
services.AddScoped<IDependency, SimpleDependemcy>();
services.AddScoped<IWorker, Worker>();
I want to use worker in project B like:
public class SomeService
{
private readonly IWorker _worker;
public SomeService(IWorker worker)
{
_worker = worker;
}
}
without any registration or simple services.AddScoped<IWorker, Worker>();
in project B. Is it possible? If not, what is correct way to use IWorker implementation in project B?