代理人導向編程
面向代理编程(AOP:Agent-oriented programming),是一种编程范型,这里软件的构造以软件代理的概念为中心。对比于拥有对象(提供具有可变形式参数的方法)作为核心的面向对象编程,AOP拥有外部指定的代理(具有接口和消息能力)作为核心。它们可以被认为是对象的抽象。交换的消息可以由接收“代理”,以特定于它的代理类的方法来解释。
历史编辑
历史上,面向代理编程的概念,和软件围绕代理的概念为中心的想法,是Yoav Shoham在1990年于他的人工智能研究中介入的[1][2]。他的代理特定于自己的范型,因为它们就只有一个方法,具有一个形式参数。下面引述Yoav Shoham的1990年论文,论述在AOP和OOP之间的基本区别:
面向代理编程(AOP),可以被看作是特殊化了的面向对象编程。
OOP | AOP | |
---|---|---|
基本单元 | 对象 | 代理 |
定义基本单元状态的参数 | 无约束 | 信念,承诺,能力,选择 ... |
计算的过程 | 消息传递和响应方法 | 消息传递和响应方法 |
消息的类型 | 无约束 | 通知,要求,提供,允诺,拒绝 ... |
方法的约束 | 无 | 诚实,一致 ... |
参见编辑
引用编辑
- ^ Shoham, Y. Agent-Oriented Programming (Technical Report STAN-CS-90-1335). Stanford University: Computer Science Department. 1990.
- ^ Shoham, Y. Agent-Oriented Programming. Artificial Intelligence. 1993, 60 (1): 51–92. CiteSeerX 10.1.1.123.5119 . doi:10.1016/0004-3702(93)90034-9.
这是一篇關於電腦程式語言的小作品。你可以通过编辑或修订扩充其内容。 |