[英]What is the recommended pattern for .NET standard libraries using appsettings and IOptions interface?
我正在努力为正在制作的网络库提出正确的设计。 该库是作为.NET标准项目编写的,并且需要通过IOptions
配置(期望提供这些依赖项的可执行文件)
我正在阅读此答案 ,这是我一直遵循的指南。 但是,我的困惑是某些应用程序应如何使用该库。
例如,我有一个名为Packet.cs
的类,需要进行一些配置。
public class Packet {
public Packet(int maxSize) {
...
}
}
假设maxSize
是可以通过appsettings.js
配置的appsettings.js
。 我编写了另一个名为NetworkService.cs
类,它采用了IOptions
:
public class NetworkService {
public NetworkService(IOptions<Settings> settings) {
// save the settings
}
public Packet NewPacket() {
return new Packet(settings.maxSize);
}
}
现在,在这一点上,我是否要假设任何要使用我的库的东西都必须通过NetworkService
因为它是唯一具有设置的类? 这是推荐的设计,我只有一个到整个库的接口,所有调用都必须经过它吗?
如果您询问是否必须使用NetworkService
创建Packet
对象,那么答案是肯定的,它实际上是Factory模式的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.