关于使用Decorator模式的效率问题。

zengjd zengjd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

public interface IDataFetch()
{
DataTable FetchData();
}

public class Decorator : IDataFetch
{
protected IDataFetch _decoratee = null;

public Decorator(IDataFetch decoratee)
{
_decoratee = decoratee;
}

public virtual DataTable FetchData()
{
if (this._decoratee == null)
throw new Exception("");

return _decoratee.FetchData(interest);
}
}

public class theFetch : IDataFetch
{
public DataTable FetchData()
{
tbl = ....;
return tbl;
}

}

public Decorator1: Decorator
{
public Action1( IDataFetch dee) :base(dee){}
public override DataTable FetchData()
{
DataTable tbl = base.FetchData();
foreach ( DataRow row in tbl.rows)
{
//execute action1 decorator
...
}
}
}

public Decorator2: Decorator
{
public Action2( IDataFetch dee) :base(dee){}
public override DataTable FetchData()
{
DataTable tbl = base.FetchData();
foreach ( DataRow row in tbl.rows)
{
//execute action2 decorator
...
}
}
}


上面代码中,每个Decorator都要循环一遍DataTable,进行Decorator,会不会有效率问题?
相比在一个循环中做完所有的动作,哪个效率高一些。
这样的效率问题需不需要考虑?
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
zengjd
C# 111,128 成员 642,536 内容