问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-12-26 23:48

我来回答

1个回答

热心网友 时间:2023-07-19 08:15

  AOP现在很火 网上有这许多支持AOP的框架 对于Delphi来说同样也有MeAOP 不过觉得这些框架太复杂了

  现在有一个系统 基本上都快结束了 整体上当然是没有采用什么AOP的框架 对于这样的系统能否用上AOP的一点点好处呢?

  项目组提出在现有的系统上加入日志记录的需求 大家一起来看看我是怎么来实现这个功能的吧

  AOP简要说明

  根据网上对AOP的解释 它具有下面的特征

   将通用功能从不相关类之中分离出来       能够使得很多类共享一个功能 一旦功能发生变化 不必修改很多类 只要修改这个功能就可以了      AOP的核心在于保持横切关注点的分离

  日志功能

  这是一个比较典型的MIS系统 现在编码基本结束 不过某个开发人员接到了一个繁琐又看上去没什么技术含量的任务——实现日志功能 这个开发者就是本人了

  虽然没什么难度 但还是设计一下吧 谁让我是一个自诩为高水平的程序员呢

  一个设计图就这么做出来了 其中设计一个接口ILog来封装日志实现的细节 模块甲乙丙只需要使用接口ILog就可以 满足了XXX面向对象的设计原则 太完美了!

  泡杯茶 然后开始写代码实现这个简单而庞大的任务     开始编码了!

  TLog ILog实现比较简单 在此略去不谈 稍微修改一下以前模块的代码 将ILog接口传入每一个模块中

  接下来只需要实现日志功能的调用就可以了

  模块甲

procere TMole acAction Execute(Sender: TObject);begin……Flog LogCommand( 模块甲 操作一 );end;

procere TMole acAction Execute(Sender: TObject);begin……Flog LogCommand( 模块甲 操作二 );end;

  模块乙

procere TMole acAction Execute(Sender: TObject);begin……Flog LogCommand( 模块乙 操作一 );end;

  就这样 写了大约二十几个地方 突然觉得自己太可悲了 作为一个高科技人才就干这种体力活吗?    坏味道的出现    在许许多多的地方都出现了Flog LogCommand这样的函数调用 正是这些函数调用让我崩溃 在这么做下去估计我撑不到周末了

   CV* 已经让我觉得羞愧加恼怒 系统中到处出现了这样的重复代码

  无奈之中 我耷拉着脑袋走到一个同事桌前

   嘿 救救我吧 我想解脱

   怎么回事? 同事善意地问道

   事情是这样子的……

lishixin/Article/program/Delphi/201311/24869
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四川省综合素质a级证书? 华为手机怎么还原微信聊天记录 华为手机微信内容恢复方法 股权转让的主要方式有哪些 股权转让有哪几种方式 股东转让的几种形式是 股东转让的几种形式 高考多少分能上衡阳师范学院南岳学院 你们被玖富金融骗,后期有还款吗? 玖富悟空理财2022年最新消息还有希望吗?悟空理财最新情况(悟空理财可信... 同等责任交通事故致人死亡是否追究刑事责任 用户模块-登录接口完整code 别人花呗给我支付宝付钱可以吗 沃尔沃c70二手车八七成新多少钱? 大疆无人机失踪注销后又找到了怎么办 沃尔沃C70的车系介绍 大疆无人机飞丢认证了还能起飞吗 大疆飞丢赔偿条件 电脑u盘打开卡顿怎么办 身份信息被骗了怎么办 网络被骗找谁解决 肝脏,一天能承受多少酒精量?你喝超标了吗? 一个人一天吸收多少酒精为宜? 肝脏每天能分解多少酒精? 长期超过这个量, 你的肝脏可能会撑不住 如何区分因数和倍数? 梦见车子着火有什么预兆?是什么意思? 淘宝电子凭证在哪里看? 嘴角裂口怎么办求妙招 九阳电压力锅怎么样?安全吗 九阳电压力锅y50c-b353有不锈钢内胆吗? 电脑的共享在哪里 怎么证明球面三角形内角和请注意是球面三角形? 三角形abc是等边三角形 p是三角形外一点,且角ABP+角ACP=180度。求证PB+PC=PA。 收到,王总。您们要注意防护!这个语录有问题吗? 从游侠网下个红警3 在载入镜像时出现Please intall at least one language pack 该如何解决? 大神帮忙看看怎么不能玩,游侠网下载的,百度网盘 知唔知纸黏土要点做先唔怕会有裂纹呀~~ 铠甲勇士雪獒侠招数 梦见用刀斧自残是什么意思 主网线连两个路由器和两个电脑,其中一台电脑频繁掉线是怎么回事呢 家里的电表总是跳闸,怎么办啊? 电脑怎么登录多个微信 如何用电脑同时登录多个微信账号 盈通显卡好还是七彩虹的好? 七彩虹的显卡和盈通哪个质量好 六小龄童《敢问路在何方》7亿打造国际大片,你会为情怀买单吗? 电影《心花路放》中哪个情节最搞笑? 高中化学鲁教版选修中的化学平衡就是学不会 哲夫成城哲妇倾城是什么意思 哲夫成城哲妇倾城出处 倾城倾国什么意思?出处是哪里? 赞叹美女成语? ipadpro刷机用什么线