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

问题描述 投票:0回答:1

我遇到了一个常见的情况,我的特殊课程有一个短暂的不可预测的生命周期。

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

它有点类似于工厂模式,但它有一个额外的元素来抽象出瞬态错误。

是否有一个很好的软件模式来处理这个特定的问题,和/或是否有一个库框架来做它?

为了抽象出来,我使用了一个包装类,我可以使用外部代码,而不需要担心大多数错误,也不需要重新创建类。

c# design-patterns wrapper
1个回答
0
投票

我不知道任何框架或库,但如果你正在处理许多脆弱的类,那么以Nullable<T>Lazy<T>的精神实现通用包装器可能是值得的。像这样的东西:

public class Fragile<T>
{
    public Fragile(Func<T> valueFactory, Func<T, bool> isStillValid)
    {
        //...
    }
    public T Value { get /* TODO */ ; }
}
© www.soinside.com 2019 - 2024. All rights reserved.