在Delphi中应用AOP实现日志功能

在Delphi中应用AOP实现日志功能,第1张

在Delphi中应用AOP实现日志功能,第2张

AOP现在很流行。网上有很多支持AOP的框架,也有针对Delphi的MeAOP。但是我觉得这些框架太复杂了。

现在有一个系统,差不多完成了。总的来说,当然没有AOP框架。这样的系统可以利用AOP的一点优势吗?

项目组提出了在现有系统中增加日志记录的需求。先来看看我是怎么实现这个功能的。

AOP的简要描述

按照AOP的在线解释,它有以下特点:

1.将一般函数与不相关的类分开;2 .
。许多类可以共享一个函数。一旦函数发生变化,不需要修改很多类,只需要修改这个函数即可。

AOP的核心是将横切关注点分开。

对数函数

这是一个典型的MIS系统,现在编码基本结束了。然而,一名开发人员接到了一项繁琐且看似不熟练的任务——实现日志功能。这个开发者就是他自己。

虽然不难,还是设计一下吧。我是一个自称高级程序员的人。

设计图纸是这样做的。接口ILog被设计成封装日志实现的细节。模块A、B和C只需要使用接口ILog。符合XXX面向对象的设计原则。太完美了!

泡一杯茶,然后开始写代码实现这个简单而庞大的任务。

编码开始!

TLog和ILog的实现比较简单,这里就不赘述了。稍微修改前面模块的代码,将ILog接口引入每个模块。

接下来,只需要调用log函数。

模块A:

过程t module 1 . a action 1 execute(发送方:to object);
begin
……
flog . log command("模块A的操作一");
end;

过程t module 1 . a action 2 execute(发送方:to object);
begin
……
flog . log command("模块A的操作II ");
end;


模块B:

过程t module 2 . a action 1 execute(发送方:to object);
begin
……
flog . log command("模块B的操作1 ");
end;

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在Delphi中应用AOP实现日志功能

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情