前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >白话面向智能体编程(Agent Oriented Programmig, AOP)之一

白话面向智能体编程(Agent Oriented Programmig, AOP)之一

作者头像
月牙寂道长
发布2018-03-06 15:11:43
1.5K0
发布2018-03-06 15:11:43
举报
文章被收录于专栏:月牙寂月牙寂

Adrian同志有一篇关于Aspect Oriented Programming的Blog The Ted Neward Challenge (AOP without the buzzwords),俺非常的喜欢。这篇文章中文翻译过来可以是“无废话AOP”,它从一个脱离了具体实现手段的视角,用简单清晰的语言向我们表达了Aspect Oriented Programming的本意:尽量将需求和实现的关系由1:N逼近至1:1。俺也非常希望能整出这么一个“无废话Agent Oriented Programming”,可是基于下面两点考虑,俺还是决定放弃:一个是Agent Oriented Programming不光是个有意思的技术话题,还与学术界,理论界有很深的渊源。要“无废话”,且饶有趣味地阐述这样一个理论问题,是相当有难度地,还是时不时有必要来点废话,才不至于让同志们看得睡着过去。另一方面,记得上学的时候,老师传授的读书体验是先把书读厚,再把书读薄。书读薄了,吃透了,归纳出来,写出来的都是精华,当然也就无废话;而俺现在还处于把书读厚的第一阶段,所以写出来废话会比较多一点。基于这样的考虑,这个系列的文章可以被称为是“白话Agent Oriented Programming”。

如果俺有足够的耐性把文章全整出来and您有足够的耐性看完所有文章,您会对以下的内容有一个大概的了解:

l 什么是Agent和Agent Oriented Programming Agent这个概念并不是空穴来风,在理论界对它的研究已经很深入,Agent是Object的进化版本,进化的目的是为了让软件系统更贴近现实世界。从程序设计的角度理解,可以认为Agent就是绑定了Thread的Object。

l 为什么要整这么个概念出来,这个东东和其他一堆泛滥的概念的关系是什么 可以说搞软件的人,特别是搞平台软件的人,本质上都比较,整天琢磨着怎么更懒,如果有个东东可以让100行的代码压缩到10行,将设计,调试,维护的时间由1天压缩为1个小时,他们就会将这种方法拎出来,凑成一个概念。OOP,AOP,SOA什么的基本上可以说都是这么整出来的(戏言戏说)。

l 怎么样在.Net 平台上实现Agent Oriented Programming Agent Oriented Programming是一种思想,与平台无关。但既然是准备贴在以微软技术为主题的博客堂上,为了以示尊重,还是选择在.Net平台上实现的比较好。

l 俺们设计的一个Agent SDK,及其一些蛮有趣的特性 实际上这个Agent SDK是俺们设计一个工作流引擎的副产品。在给大家做演示的时候,这个SDK倒是比上层的工作流引擎更能引起大家的兴趣(除了胸闷还是胸闷)SDK部分地实现了Agent的一些特性,例如AgentMethod,TimerMethod,Sensebility等。

l 未来之路 这里的未来之路包含两个意思。一层意思是,围绕着Agent Oriented Programming,还有很多高级的特性等待我们去实现,例如移动Agent,合作Agent等。另一方面,对于任何思想,技术而言,光掌握其原理,明白是怎么回事,是不够的,还是得运用到项目中,创造效益,老板才会高兴,才会去下力气去推广。所以俺们也要考虑如何将这么好的东东应用到实际的项目开发中去。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年05月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档