Programming AOP for Agents is a concept that is inadequate in OO programming, but AOP is not a balm, it is proposed only to solve some aspects of the problem, especially in the real world, can use a lot of AOP.
An important feature of AOP is that programming is no longer just a matter of thinking about objects, but going further, using agent intelligence to think about problems.
If you need to deal with a ticketing business, then you can conceive a conductor agent;
If you need to deal with a booking business, then you can conceive a waiter agent;
If you need to post a news message, then you can conceive a courier agent;
Features of the agent:
1. You do not need to go to new objects, but can directly inherit an agent;
2. You do not need to go to the object to create public methods, but to implement some behaviour;
3. You no longer need to use the IF else switch case to judge the execution conditions of the method and logic, only to implement the agent State;
As far as I know, this kind of programming mode has been implemented in the framework of thinkphp, Yii, and so on, regardless of whether the author is intentional or unintentional, the naming of methods and classes has been moved closer to the AOP specification.
In a word, Agent intelligent framework greatly expands the scope of primitive object-oriented, makes the object-oriented abstraction a reality substitution and supplement, and effectively solves the contradiction between abstract problem and realistic logic.
Agent-oriented programming as early as 2009 in the proposed, the reason why not widely developed and used, is to achieve an agent framework is not easy, the accumulation of professional knowledge and the formulation of agent standards!
More importantly, AOP is just a supplement to OOP, solving some of the complex problems in the real world, and usually some information management systems that use OOP are enough.
1. Do we need an AOP framework of our own?
This depends on whether the business we use is complex enough for OOP to be able to handle, and if OOP can be solved and easily understood by the development team, then it is not necessary to use AOP.
2. Is the smart-body framework an intelligent programming assistant? (similar to the assistant robot in Iron Man)
This is entirely two concepts, for the smart body programming is just a programming idea, and we want the programming assistant is not the same thing, the programming assistant is a real intelligent body.
3. If I want to build a programming assistant, do I need an AOP framework?
For the time being, the AOP framework is just for programmers to easily use AOP ideas, just as spring is to dependency injection (AOP, though abbreviated, but conceptually completely different), so the system needs to do what it does, AOP is not a necessity!
Agent-oriented system architecture