Visual Studio 2008+NClay小试牛刀
http://tech.ddvip.com 2008年01月22日 社区交流
内容摘要:本文给出用VS 2008结合NClay进行SmallBlog程序的编写步骤和具体的源代码,供大家参考!
很多时候面对多个视图处理同样的逻辑,这时候可以借助于框架的AOP功能完成。以下是统一处理页面左侧的功能。
[NClay.MVC.ViewAspect(NClay.MVC.AspectLevel.High)]
public class AspectBaseView:NClay.MVC.IAspect
{
#region IAspect 成员
public void Aspect(object source, NClay.MVC.AspectHandler e)
{
if (source is BaseView)
{
BaseView bv = (BaseView)source;
NClay.MVC.Container.Execute<Logic.SysUser.IBlogConfig>(bv, true);
NClay.MVC.Container.Execute<Logic.Category.IStatCategories>(bv, true);
NClay.MVC.Container.Execute<Logic.Post.IHotPost>(bv, true);
}
e.Execute(source);
}
#endregion
}
为了避免加载重复的数据,可以通过AOP来实现逻辑数据的缓存处理。
[NClay.MVC.LogicAspect(typeof(Logic.SysUser.IBlogConfig),
typeof(Logic.SysUser.IEditUserInfo))]
public class BlogConfigCache : NClay.MVC.IAspect
{
#region IAspect 成员
public void Aspect(object source, NClay.MVC.AspectHandler e)
{
if (source is Logic.SysUser.IBlogConfig)
{
Logic.SysUser.IBlogConfig config = (Logic.SysUser.IBlogConfig)source;
config.OwnerConfig = CacheUnit.GetBlogConfig();
if (config.OwnerConfig == null)
{
e.Execute(source);
CacheUnit.SetBlogConfig(config.OwnerConfig);
}
}
if (source is Logic.SysUser.IEditUserInfo)
{
e.Execute(source);
CacheUnit.ClearBlogConfig();
}
}
#endregion
}
程序运行效果图

图4
来源:天极 作者:拌瓜 责编:豆豆技术应用
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……