当前位置: 移动技术网 > IT编程>软件设计>架构 > 程序如何实现可扩展性

程序如何实现可扩展性

2020年04月14日  | 移动技术网IT编程  | 我要评论

参考借鉴abp中提供的扩展性

持续更新....

实现一:

定义一个接口

public interface imessagewriter
{
    string write();
}

定义一个实现,这个实现是要被另外的一个实现类代替的:

public class consolemessagewriter : imessagewriter, itransientdependency
{
    public string write()
    {
        return "consolemessagewriter.write";
    }
}

替代的实现类:

[dependency(replaceservices = true)] // 调用了asp.net core中的services.replace实现
public class replacemessagewriter : imessagewriter, itransientdependency
{
    public string write()
    {
        return "replacemessagewriter.write";
    }
}

这里的itransientdependency接口dependency特性都是abp中的。

实现二:

接口定义:

public interface ibrandprovider
{
    string appname { get;  }
}

默认实现类:

public class defaultbrandprovider : ibrandprovider, itransientdependency
{
    public defaultbrandprovider() { }

    public virtual string appname { get => "defaultbrandprovider"; }
}

替换类:

[dependency(replaceservices = true)] //如果没有此特性,那么接口的实现类有两个。
public class replacebrandprovider : defaultbrandprovider
{
    public override string appname { get => "replacebrandprovider"; }
}

实现三:

参考:扩展与解耦:option模式与依赖注入结合

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网