我遇到一种常见情况,我有一个特殊的类,其生命周期短得无法预测。
我想在内部进行抽象并处理错误,因此外部代码无需知道,也不必担心类的对象正在被处置或处于无效状态。
它与工厂模式有点相似,但是它具有抽象化瞬态错误的功能。
是否已经有一个好的软件模式可以解决这个特定的问题,并且/或者有一个库框架可以解决这个问题?
为简化这一点,我使用包装器类ive使得外部代码可以使用而无需担心大多数错误,也无需重新创建该类。
答案 0 :(得分:0)
我不知道任何框架或库,但是如果您要处理许多易碎的类,则可能本着Nullable<T>
和Lazy<T>
的精神来实现通用包装是值得的。像这样:
public class Fragile<T>
{
public Fragile(Func<T> valueFactory, Func<T, bool> isStillValid)
{
//...
}
public T Value { get /* TODO */ ; }
}