To figure out the word "mode", first we have to check the dictionary, in Jinshan Word Overlord, you can find the following explanation: "Latient, Pat, Pat, Pat, Pattern," model "because of the" model "" "" "" "" " Two parts, one is the model, two is the father and child. Let's take an example below.
Zhang San livelike, let Li Si do his job, this day, Li Si must take over the work of Zhang San, but do not do it, then Li Si's things, Zhang San also can't manage so much. . This is a model, a proxy mode, and the example of this mode is that if Adidas is going to find a brand in China, as long as your agent is only getting the goods only from Adidas. When buying, the customer saw the adidas brand, not to intend to buy in which adidas agent is bought. The two examples mentioned above are typical examples of proxy mode, then why is the agent mode a mode? Because we have "models" in these two examples, it is a set of logic that needs to be realized by this duties; we have "Father and Siles", the father is the logic of the agent, and the child is all the responsibilities that can be used. Objects, in the above example is Zhang San Li, an agent of Adidas-Adidas. It can be seen that the child can be composed of many simply irrelevant objects, but the child can use the parent model.
Mode can be divided into many types according to different industries. In software engineering, mode can be divided according to its characteristics or use, and if they are divided, they are usually the following categories:
Architecture Design (Design)
If you divide it according to its use, you can draw a number of descriptions, some of which are the following categories:
Page Display (Deployment) Performance Distributed Systems Service Mode (Data Movement Patterns)
The proxy model mentioned earlier is a design pattern. It is very wide, it is difficult to divide it, but some special cases can be used, such as Remote Proxy, remote agency mode to remotely call remotely The object is very good to hide the client, and the user does not have to know that it is remotely called, it is clear that it is divided according to the purpose of the Distributed System class.
The design pattern is a very common mode classification in software engineering, as it applies a wide application, so the understanding of the design mode is inevitable. Speaking of design patterns, don't mention literature "Design Patterns, Elements of Reusable Object-Oriented Software" (often referred to as GoF - Gang Of Four, because of its four famous authors), in this document, the author will design The pattern is divided into three categories:
Creating mode (Creational Patterns) behavior mode (Behavioral Patterns)
The author defines 23 common design patterns in these three categories. These 23 classic design patterns can be said to be learned. In addition, there are many other extensions extending or completely different design patterns, such as multiton pattern, Simple Factory Pattern, etc. The advantage of the model is its stability and reusability, this is the industry contributes, which is why they want to learn and use the model. In addition, in many other literatures mentioned, the model is also a means a means of communication. It can be easily exchanged between people who are familiar with it. Just say the name of the model will understand what I am talking about. To guess, this is also a big advantage. If the reader still does not understand the use of the mode now, then I can summarize a sentence: "The mode is a description of an abstract problem - answer". For example, the abstraction problem of the agent model is "I need someone who can replace me. I hope people can think of it as me", and the answer is "declaring an agent as a bridge" (note the bridge and bridge mode here ( Bridge Pattern is not related.
Reference "Design Patterns, Elements of Reusable Object-Oriented Software" "Enterprise Solution Patterns Using Microsoft .NET"