最新评论
Re:Javascript点滴:this, Function.apply 及Function.call weistar 2009-08-24 18:18
very good!
Re:Javascript点滴:this, Function.apply 及Function.call 莫等闲,白了少年头,空悲切。 2009-08-21 14:06
楼主问一下 ShowMessage这个方法直接定义在
ButtonManager 这个类声明的方法里可以嘛
Re:Javascript点滴:this, Function.apply 及Function.call 励冰 2009-07-05 13:32
清楚
re: Javascript点滴:this, Function.apply 及Function.call charlie_hong 2009-05-03 23:54
哈哈,学到东西了,谢谢
re: Javascript点滴:this, Function.apply 及Function.call guest 2009-04-18 14:16
不错,太好了。
re: Javascript点滴:this, Function.apply 及Function.call StevenJiang 2008-10-14 08:17
Qiang, push up...
re: Javascript点滴:this, Function.apply 及Function.call 房客 2008-07-16 00:01
good~
thanks for your share~
thanks for your share~
re: Javascript 点滴: 性能 簡簡單單.. 2008-07-11 11:12
Mark
re: 从ASP1.x到ASP2.0(关于UserControl及Page继承) 小邪 2008-03-05 19:39
我现在也正处在1.x到2.0的苦恼中,经过转换发现问题太多了。
re: 从ASP1.x到ASP2.0(关于UserControl及Page继承) sp 2007-05-02 14:07
<%@ Reference Control="~/Controls/Html.ascx" %>
感谢。。。这句代码帮了我很大忙
感谢。。。这句代码帮了我很大忙
re: 从ASP1.x到ASP2.0(关于UserControl及Page继承) 风轻如梦 2005-12-07 09:22
好文章
re: Web应用在业务层实现数据缓存 notus 2005-01-15 09:26
谢谢您的指点,还有您提供的spl的线索
以后还要多向您学习
以后还要多向您学习
re: Web应用在业务层实现数据缓存 彭年 2005-01-13 12:01
To:notus
看了你的代码,你的做法没有什么大问题,如果有几个缓存(或直接存在Cache,或用Singleton模式)依赖数据库的话,在数据库修改后,用观察者模式来重新缓存数据也是可行的,但似乎没必要这么复杂(在你现在的项目中),你可以用了一个单独的类,来操作你所有的缓存,并提供公共的方法(例如如重新缓存数据,读缓存中的数据)给其他类的方法调用(例如类务层中确定会修改相关的数据的方法). 能简单的话尽量简单了
至于持久层的相关方面,博客堂也有很多朋友有好的想法,前阵子有很多贴子,你也可以看一下听棠的blogs的关于他的SPL的论叙
看了你的代码,你的做法没有什么大问题,如果有几个缓存(或直接存在Cache,或用Singleton模式)依赖数据库的话,在数据库修改后,用观察者模式来重新缓存数据也是可行的,但似乎没必要这么复杂(在你现在的项目中),你可以用了一个单独的类,来操作你所有的缓存,并提供公共的方法(例如如重新缓存数据,读缓存中的数据)给其他类的方法调用(例如类务层中确定会修改相关的数据的方法). 能简单的话尽量简单了
至于持久层的相关方面,博客堂也有很多朋友有好的想法,前阵子有很多贴子,你也可以看一下听棠的blogs的关于他的SPL的论叙
re: 在WinFrom应用中,如果使用后台线程来操作界面应调用Control.Invoke()方法 彭年 2005-01-13 11:41
MethodInvoker是一个委托, 在System.Windows.Forms名字空间中定义的
re: Web应用在业务层实现数据缓存 notus 2005-01-09 11:14
另外,可否介绍一下持久层的相关知识?谢谢
re: Web应用在业务层实现数据缓存 notus 2005-01-09 11:12
写错了一句,这样
DebugHelper.CheckCondition(config.Copyright!=string.Empty,"config未设定!");
DebugHelper.CheckCondition(config.Copyright!=string.Empty,"config未设定!");
re: Web应用在业务层实现数据缓存 notus 2005-01-09 11:10
我是.net的初学者,最近自己试着写一个论坛,是这样处理数据库缓存的
如果业务层有接到改变数据库的任务,在完成数据库改变后,就对外发布一个事件,然后表示层该事件的订阅者就得到通知,然后在事件处理方法中使缓存过期
不知这样做是否合适,请这里的高人指教
下面是部分代码
/// <summary>
/// 处理数据库变化事件的委托
/// </summary>
/// <remarks>
/// 数据库改变,需要重新缓存数据,使用该委托代理的方法使缓存失效
/// </remarks>
public delegate void DBChangedEventHandler();
/// <summary>
/// 论坛逻辑操作
/// </summary>
public class ForumLogic
{
/// <summary>
/// 构造函数
/// </summary>
/// <param name="handler">订阅事件方提供得委托</param>
/// <remarks>
/// 接受的委托方法提供使缓存失效的功能
/// </remarks>
public ForumLogic(DBChangedEventHandler handler)
{
DBChanged+=handler;
}
/// <summary>
/// 数据库改变事件
/// </summary>
/// <remarks>
/// 若此事件发布,则说明数据库已经改变,需要重新缓存数据
/// </remarks>
public event DBChangedEventHandler DBChanged;
/// <summary>
/// 更新论坛设定
/// </summary>
/// <param name="config">论坛对象</param>
public void UpdateConfig(ForumConfig config)
{
DebugHelper.CheckCondition(config.Copyright==string.Empty,"config未设定!");
ForumAccess fa=new ForumAccess();
fa.UpdateConfig(config);
DebugHelper.CheckCondition(DBChanged!=null,"没有任何类订阅监视数据库改变的DBChanged事件!");
DBChanged();
}
}
如果业务层有接到改变数据库的任务,在完成数据库改变后,就对外发布一个事件,然后表示层该事件的订阅者就得到通知,然后在事件处理方法中使缓存过期
不知这样做是否合适,请这里的高人指教
下面是部分代码
/// <summary>
/// 处理数据库变化事件的委托
/// </summary>
/// <remarks>
/// 数据库改变,需要重新缓存数据,使用该委托代理的方法使缓存失效
/// </remarks>
public delegate void DBChangedEventHandler();
/// <summary>
/// 论坛逻辑操作
/// </summary>
public class ForumLogic
{
/// <summary>
/// 构造函数
/// </summary>
/// <param name="handler">订阅事件方提供得委托</param>
/// <remarks>
/// 接受的委托方法提供使缓存失效的功能
/// </remarks>
public ForumLogic(DBChangedEventHandler handler)
{
DBChanged+=handler;
}
/// <summary>
/// 数据库改变事件
/// </summary>
/// <remarks>
/// 若此事件发布,则说明数据库已经改变,需要重新缓存数据
/// </remarks>
public event DBChangedEventHandler DBChanged;
/// <summary>
/// 更新论坛设定
/// </summary>
/// <param name="config">论坛对象</param>
public void UpdateConfig(ForumConfig config)
{
DebugHelper.CheckCondition(config.Copyright==string.Empty,"config未设定!");
ForumAccess fa=new ForumAccess();
fa.UpdateConfig(config);
DebugHelper.CheckCondition(DBChanged!=null,"没有任何类订阅监视数据库改变的DBChanged事件!");
DBChanged();
}
}
re: Web应用在业务层实现数据缓存 彭年 2005-01-08 16:25
To:听棠
前阵子关于持久层的东西在网上讨论得很多,也看过你关于SPL的论述,受到很多的启发,现在也在做一些积累的工作,如果以后还有相关的项目做,也会采用持久层来做一些尝试。
前阵子关于持久层的东西在网上讨论得很多,也看过你关于SPL的论述,受到很多的启发,现在也在做一些积累的工作,如果以后还有相关的项目做,也会采用持久层来做一些尝试。
re: 在WinFrom应用中,如果使用后台线程来操作界面应调用Control.Invoke()方法 猫头鹰 2005-01-08 14:50
不错,说的比较详细。
不过还有一点不太明白文章中最后提到的Invoke(new MethodINvoker(updater.Update)); MethodINvoker是哪里来的?
不过还有一点不太明白文章中最后提到的Invoke(new MethodINvoker(updater.Update)); MethodINvoker是哪里来的?
re: Web应用在业务层实现数据缓存 听棠.NET 2005-01-08 14:41
我觉得使用Cache会存在问题了,完全可以直接把数据对象放在内存中啊。关于这个缓存的东西,在我的SPL中已经实现了,而且完全透明,也就是对于开发程序员来说,跟平时的实体一样对待,在读取时直接从内存读取,如果对实体有更新,SPL也会自动进行内存的更新。
关于这方面可以看看我的SPL的功能!!
关于这方面可以看看我的SPL的功能!!
