Software architecture, framework, patterns, modules, components, plug-in concept summary

Source: Internet
Author: User

Terms English explanation
Chinese explanation
Architecture Architecture:
  • Architecture is the art of planning, designing, and constructing buildings.
    • Architectural nouns originate from architecture, there is no clear definition of the standard, and different people can understand it differently based on experience. in fact, the structure refers to people according to their own knowledge of the world, in order to solve a problem, actively, purposefully to identify problems, and to decompose, merge, solve the problem of practical activities. The output of the architecture is naturally the analysis of the problem and the solution to the problem: including the principle and rationale of the split, the principles and reasons for the merging, and the splitting, splitting of the various parts and the corresponding roles of the merger and the core competencies required. General steps of the architecture:
  1. < b style= "line-height:24.5px; font-size:15px; " > Determine the scope of the problem:   defines the boundary of the target system based on the problem to be solved.
  2. decomposition problem:
  3. determine how to collaborate: and set up a communication mechanism for these segmented parts.
  4. collaborate to solve the problem: According to 3, these parts can be organically connected, merged and assembled into a whole, accomplishing all the work of the target system.
    • Software architecture, also known as software architecture. Simply put, a software architecture is a blueprint, a design that abstracts the different requirements of a customer into an abstract component, and describes the communication and invocation between these abstract components . It is the system organization of the software system, and it is the sum of the decision-making of the interface, behavior pattern and cooperative relation of the components of the system. it involves not only the structure and behavior, but also the use of the system, function, performance, adaptability, reusability, understandable, economic and technical constraints and aesthetic considerations.
    • Usage: The software architecture will analyze the problems in the project, design the solution for the problem, and according to the function of the solution analysis, the logical interaction between the hierarchy of the functional design software system and the module and the hierarchical module, determine how each function is implemented by these logic. Engineering developers can write software based on the layers and modules analyzed in the software architecture. such as b/s structure, network architecture, enterprise structure, national structure.
Framework FRAMEWORK&NBSP;:
  • a framework is a structure, that forms a, or frame for something.  a structure are something that consis TS of parts connected together in an ordered way. 
  •  a The framework is A set of classes that embodies an Abstract design for solutions to a family of related problems, and supports reuses at a larger granularity than classes.
  • A Software Framework provides the skeleton of an application so can be customized by an application developer.  
  • Framework-connected structure, in software engineering concept refers to the whole or part of the system of reusable design, represented as a set of abstract components and components of interaction between instances of the method; Another definition is that the framework is an application skeleton that can be customized by the application developer. The former is from the aspect of application and the latter is the definition given in terms of purpose.
  • software Framework is the architecture of extracting the common part of software in the project software development process, and the software projects in different fields have different framework types. The framework is not an out-of-the-box application system, but a semi-finished product, an application system that provides a number of services for developers to develop two times for specific functions. In particular, the framework is a program entity that can be developed two times.
  • Framework and architecture Relationship: First of all, the framework is not an architecture, the framework is more specific than the architecture, more technical, and the architecture is biased toward design. Another relationship is that architectures can be implemented through a variety of frameworks.
  • Usage: Specific domain software has some common parts of the software architecture, the common software architecture developed to form a two-time development of the program entity, the program entity is the software framework. Can be developed for two times. such as spring frame, Felix frame, etc.
Mode pattern:
  • A pattern is the repeated or regular-in-which something happens or is-done. If you refer to a by doing something, you is referring to how can does it, for example, the action you can take or The method you can use to achieve it.
    model refers to the core knowledge system which is abstracted and sublimated from the experience of production and life experience. The pattern is actually the methodology for solving a certain kind of problem. The sums up the method of solving a certain kind of problem to the theoretical height, that is the pattern. The pattern is a guide that, under a good guide, helps you to accomplish the task and helps you to make a good design plan to achieve a multiplier effect. And will get the best solution to the problem. The
  • Software Design pattern emphasizes a solution to a design problem and is a summary of repeated use, knowledge, and code design experience.
  • software framework and Design pattern relationship: The design pattern is the design idea and solution for a single problem, the purpose is design reuse, a pattern can be applied to different frameworks and implemented by different programming languages, and the framework is an application architecture. is a mixture of one or more design patterns and code that enables code reuse. Although they are different, but work together to make people's design can be reused, there is unity in the thinking of the characteristics, so the idea of design patterns can be applied in the framework design.
  • software Architecture and Design pattern relationship: The relationship between the two is very well differentiated, design mode is mainly aimed at a single problem of the solution, the category is relatively small, and the architecture is a high level of the architecture of a design idea, category is relatively large. As you can say, multiple design patterns may appear in a schema to solve problems in multiple schemas.
  • How to: Provide a solution for a specific problem for reference by the problem-solving person. such as observer mode, adapter mode, proxy mode.
Module Module:
  • In software, a module was a part of a program. Programs was composed of one or more independently developed modules that was not combined until the program is linked. A Single module can contain one or several routines.
  • A software module encapsulates related functions in a program together.
  • One of a set of parts that can is connected or combined to build or complete something.
  • Modules, module, modules are a common concept that may be differentiated from functionality or other purposes . A module can be a subsystem sub-domain, depending primarily on the usage of the context environment. Usually we will say that the program module, function module, which is actually in accordance with different standards on the content and scope of different definitions of the module.
  • Usually we say that the program module refers to a piece of code that can achieve a valuable goal of the members of the snippet, such things, we have another name: routines, and the routines are two, that is, functions and procedures, they can achieve a valuable target for other modules to use.
  • and the function module is generally in the analysis and design phase appears more frequently, usually we use a function module to illustrate the system behavior of a function, when we think the granularity of the analysis may be more large, we can use a function module to represent a set of functions, which seems to let us feel that, The concept of the word module and the concept of "subsystem" is somewhat vague, yes, in fact, some large modules will slowly let us think that the subsystem is more appropriate, or a subsystem, we will slowly find that you also contain some modules.
  • However, the principle of defining modules should be: high cohesion and low coupling.
  • Use method: is a description of the problem in the global concept, as to what the overall, this casual, such as a person, can be regarded as a variety of functional systems, then the module is a variety of respiratory system, digestive system, etc., can be regarded as social relations, the module has the ability to work, production relations, all lies in how to see.
Component Component:
  • The components of something be the parts that it is made of.
  • Component, Component, first of all, the component is not a draw line concept, is the entity that encapsulates one or more entity program modules.
  • The term component is usually present when the product is described, a large product will have a lot of small parts, and the small part, except for the part of a large component, itself may also contain smaller components, so the component is recursive , then what is the component exactly? The most common component is the program code that we've written, and any small piece of code can be a component that can be connected to a larger piece of code, a larger component, possibly a function, or a class program unit, or the integration of several class unit files, When different components are assembled to form larger components, we are actually doing one of the things we usually mention: integration, a lot of integration work to do in the software, daily integration, important version integration and so on, what is integration? In the software, is the chain debugging. In this way, we know that integration requires the scale of the components being integrated, in other words, at least a single unit file, so the components commonly mentioned can be intuitively understood as unit files, or other files that can compose software, as well as compiled files.
  • component is an object-oriented inside of a heavy [chóng] concept, also known as the component, the components are very similar to the concept of mechanical components, the machine is now moving toward the component generation, through the different components assembled into a mechanical finished product, the software is now a way to generate.
  • Wikipedia says that components interact through interfaces, which are somewhat like plugins, in reality, such as a DLL file, which can be said to be a plugin or a component. A plug-in is a subclass of a component, or a component that has certain features in the component as a plug-in, which is a program module that is beneficial to the separation of the system, the interface is clear, and can be replaced.
  • The component emphasizes encapsulation and interacts with the interface. Because the package has different levels of encapsulation, corresponding to different levels of interface, (such as the packaging of a person into a component, such as the president, many people packaged into a combination, such as the Central Standing Committee), so the scope and level of the components expressed are also various, When talking about components, be sure to identify the level and scope of the conversation. The hierarchy is relative. You say that the earth is the whole world, but put the earth into the Milky Way, the earth is small, you say that the physical world is the whole world, but the human spirit of the world is incomparably vast, you say the physical world and the spiritual world together is the whole world, but history is so mysterious and true; you say the material world, the spiritual world, History and space are the whole world, but scientists say that the cosmic matter that human beings can detect only accounts for 4% of the universe.
  • How to use: it is a concept that describes the entity units in the system.
Plug - ins plug-in: (Addin,add-in,add-on,addon,app)
  • A plug-in is something such as a piece of software so can be added to a computer system to give extra features or functi Ons.
  • Based on the analysis of components and modules, the plug-in belongs to the component, but also a program module, is also a functional module. A plugin is a computer program that adds specific functionality to an application by interacting with the application. plug-ins must rely on applications to function, and plug-ins do not work properly.
  • Method of Use: the program module which satisfies certain interface specification and has certain function . Developers can design the appropriate interface in their own software system to match a plug-in, or you can design a certain interface specification to allow others to develop plug-ins. The plug-in interacts with the program through an interface.
control control :
  • A control is a device such as a switch or lever which your use in order to operate A machine or other piece of equ Ipment.
  • visual components.
Middleware Middleware:
  • Computer software that have an intermediary function between the various applications of a computer and its operating syste M.
  • Middleware is computer software, provides services to software applications beyond those available from the operating System. It can be described as "software glue". [1] middleware makes it easier for software developers to perform communication and input/output, so they can focus on the Specific purpose of their application.
  • middleware is software that provides connectivity between system software and application software to facilitate communication between parts of the software.





From for notes (Wiz)

Software architecture, framework, patterns, modules, components, plug-in concept summary

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.