码迷,mamicode.com
首页 > 其他好文 > 详细

面向Agent的系统架构

时间:2014-12-20 22:11:39      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:系统架构   框架   oop   aop   

面向Agent的编程AOP,是在OO编程上的不足,提出来的概念,但AOP不是万金油,它的提出也只是为了解决某些方面的问题,尤其是是现实世界中面临的问题,可以大量使用AOP。

 

AOP的一个重要特点,就是编程时不再仅仅只是用对象的思维来考虑问题,而是要更进一步,用Agent智能体的思维去考虑问题。

 

如果你需要处理一个售票业务,那你就可以构思一个售票员Agent;

如果你需要处理一个订餐业务,那你就可以构思一个服务员Agent;

如果你需要发布一个新闻信息,那你就可以构思一个快递员Agent;

 

智能体Agent的特点:

1.你无需再去new一些对象,而是可以直接继承一个Agent;

2.你无需再去对象中创建公共方法,而是实现一些Behaviour;

3.你无需再用if else switch case等去判断方法和逻辑的执行条件,只需要实现Agent的状态即可;

据我所知,目前这种编程模式已经在ThinkPHP、Yii等框架中开始实现,不管作者是有意还是无意,方法和类的命名已经向AOP规范在靠拢。

 

总之,Agent智能体框架大大扩展了原始面向对象的范畴,将面向对象的抽象问题进行了现实化的一种替代和补充,有力的解决了抽象问题与现实逻辑的矛盾

 

面向Agent的编程早在2009年就提出来了,之所以没能广泛发展和使用,就在于实现一个Agent框架的不易,需要专业知识的积累和Agent标准的制定!

 

更重要的一点,AOP只是用来补充OOP的不足,解决一些现实世界中复杂的问题,而通常的一些信息管理系统,使用OOP就足够了。

 

1.我们是否需要自己的一个AOP框架?

  这个要看我们使用的业务是否复杂到OOP已经无法胜任的地步,如果OOP可以解决,并且很容易被开发团队理解,则没必要使用AOP。

2.智能体框架是一种智能编程助手吗?(类似于钢铁侠中的助手机器人)

  这完全是两个概念,面向智能体编程只是一种编程思想,与我们想要的编程助手是两码事,编程助手是一个实实在在的智能体。

3.我如果想要构建一个编程助手,是否需要AOP框架?

  目前来看,AOP框架只是为了程序员方便使用AOP思想,正如Spring之于依赖注入(AOP,虽然缩写一样,但概念完全不一样)一样,所以系统需要怎么来就怎么做吧,AOP并不是必需品!

面向Agent的系统架构

标签:系统架构   框架   oop   aop   

原文地址:http://blog.csdn.net/zergskj/article/details/42046263

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!