Social Skills of software

Source: Internet
Author: User
If two people do not know each other, they cannot communicate with each other. If two systems do not recognize each other, they cannot communicate with each other. However, a person has a social ability that can ensure that two people do not know each other and start to communicate with each other. The two systems do not have this capability, so they cannot communicate. To achieve communication between any systems, all systems must have social capabilities. A social networking system on the Internet can meet certain conditions (such as idle and boring, such as requiring help ), automatically search for systems that have the same social capabilities as you do. After finding them, you can "Shake hands" and "talk" to each other to Start Communication. Two modules can be called freely, and they must also have social skills. A module can automatically find nearby modules (such as some or some Directories) with social skills, ask what functions can be implemented by these modules. If they are needed, call these functions. Otherwise, continue searching.
Why do people have social skills, because they first have some unified interfaces, including eyes, ears, Mouth, body, and appearance, and some common social knowledge, for example, after the meeting, hello, shake hands, smile, talk about simple topics of interest, etc. Then, decide whether to continue the communication based on the communication content, or stop it; to communicate between two systems or modules, you must have social skills. First, you must have consistent interfaces and common sense of communication between systems, respond with common sense, and decide whether to continue communication after the response. A module can search for its surroundings, and it can be seen that there are very "social networking capabilities" modules. If there are, it will conduct preliminary "Social Activities" with these modules. After the preliminary social activities, determine whether to call each other, that is, further interaction.
The system can be a process on the same machine, or a process on a different machine, communication between systems can be understood as inter-process communication. Modules can be understood as DLL, COM, or. NET components, communication between modules, that is, communication between internal modules of the process.
0): determine whether to use socket communication, sendmessage, Mailslot, or net remoting. First, ask in the first way. If no one answers the question, then ask in the second way. You will receive a reply. This is like you need help on the street or want to chat with others. You should first ask in Chinese, "who can help me ?", No one can understand the result. Then you ask in English, but no one can understand the result. It is not until you ask in German that a beautiful lady will answer you.
1): determine the basic initial interface of the system. For example, ask (bool bbroadcast,), reply (), onheard ()
2): determine the common sense of system social interaction. After system a asks, how does system B install and what is the significance of each answer? After system A's onheard (), how should we answer and what is the meaning of each answer.
3) after initial interaction, the two systems found that they had a common language. system a wanted system B to provide its own information about the Qinghai-Tibet Railway Ticket sales. system B exactly had this information, the two systems begin to exchange data.
Software with social skills is very interesting. To implement such software, it will be very useful in system integration. Maybe I will write this software design pattern into my uniobject-related design.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.