关于使用Decorator模式的效率问题。
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,会不会有效率问题?
相比在一个循环中做完所有的动作,哪个效率高一些。
这样的效率问题需不需要考虑?
...全文
相关推荐
Java类库中Decorator模式的应用研究.pdf
Java I/O系统通过使用Decorator模式来实现这些需求。
FIT Decorator-开源
FIT Decorator的标准适配夹具库减少了开发自定义解决方案的需要,提高了工作效率。开源软件是指源代码可供公众查看、使用、修改和分发的软件。
23个设计模式之一的装饰ppt-java-极客学院
这种模式在Java等面向对象语言中广泛应用,因为它提供了对类扩展的一种灵活方式,避免了使用继承带来的复杂性。
设计模式原理与应用之结构型模式.pptx
例如,远程对象访问、数据库连接池等场景都广泛使用了Proxy模式。这些设计模式在软件开发中起着关键作用,它们提供了解决常见问题的标准方案,提高了代码的可读性、可维护性和可扩展性。
Python库 | json_log_decorator-2.0.0.tar.gz
无论是在小型项目还是大型系统中,合理利用日志都能极大地提高问题排查效率,而`json_log_decorator`无疑为此提供了一个有效且便捷的工具。


