快速的谷歌搜索结果,QR码可以容纳近3kb(8位)的数据.但是,它不只是使用黑/白点来表示位吗?如果是这样,代码上就不会有超过20,000个点.
所以我显然是误会.有人能解释它是如何工作的吗?
这是一个关于如何最好地进行DI的问题,因此它不依赖于任何特定的DI/IoC框架,因为,框架应该基于模式和实践而不是相反的方式来选择,不是吗?
我正在做一个项目,其中存储库必须注入服务,服务可能需要多个存储库,我很好奇以下方法之间的利弊:
在服务构造函数中注入存储库
public class SomeService : ISomeService
{
private IRepository1 repository1;
private IRepository2 repository2;
public SomeService(IRepository1 repository1, IRepository2 repository2)
{
this.repository1 = repository1;
this.repository2 = repository2;
}
public void DoThis()
{
//Do something with repository1
}
public void DoThat()
{
//Do something with both repository1 and repository2
}
}
Run Code Online (Sandbox Code Playgroud)注入一个自定义上下文类,其中包含任何服务可能需要但是实例化的所有内容(IServiceContext将是BaseService中的受保护字段)
public class SomeService : BaseService, ISomeService
{
public SomeService(IServiceContext serviceContext)
{
this.serviceContext= serviceContext;
}
public void DoThis()
{
//Do something with serviceContext.repository1
}
public void DoThat()
{
//Do something …Run Code Online (Sandbox Code Playgroud)