是否有一个好的软件模式可以处理我想要一个外部包装器类来抽象出内部类的脆弱生命周期的情况?

时间:2019-04-04 21:12:20

标签: c# design-patterns wrapper

我遇到一种常见情况,我有一个特殊的类,其生命周期短得无法预测。

我想在内部进行抽象并处理错误,因此外部代码无需知道,也不必担心类的对象正在被处置或处于无效状态。

它与工厂模式有点相似,但是它具有抽象化瞬态错误的功能。

是否已经有一个好的软件模式可以解决这个特定的问题,并且/或者有一个库框架可以解决这个问题?

为简化这一点,我使用包装器类ive使得外部代码可以使用而无需担心大多数错误,也无需重新创建该类。

1 个答案:

答案 0 :(得分:0)

我不知道任何框架或库,但是如果您要处理许多易碎的类,则可能本着Nullable<T>Lazy<T>的精神来实现通用包装是值得的。像这样:

public class Fragile<T>
{
    public Fragile(Func<T> valueFactory, Func<T, bool> isStillValid)
    {
        //...
    }
    public T Value { get /* TODO */ ; }
}