MindMap Gallery Software architecture style
A brief list of 5 software architecture styles, including composition, illustrations, and sample codes. Provides a clear, predictable and maintainable framework for the development of software systems.
Edited at 2025-01-01 17:52:46Ceci est une carte mentale sur la carte mentale des experts en bourse (version détaillée).
This is a mind map about the mind map of stock trading experts (detailed version). The main contents include: 1. Mindset management, 2. Basic knowledge, 3. Technical analysis, 4. Fundamental analysis, 5. Trading strategy, 6. Risk control, 7. Continuous evolution.
Questa è una mappa mentale sulla mappa mentale degli esperti di trading azionari (versione dettagliata).
Ceci est une carte mentale sur la carte mentale des experts en bourse (version détaillée).
This is a mind map about the mind map of stock trading experts (detailed version). The main contents include: 1. Mindset management, 2. Basic knowledge, 3. Technical analysis, 4. Fundamental analysis, 5. Trading strategy, 6. Risk control, 7. Continuous evolution.
Questa è una mappa mentale sulla mappa mentale degli esperti di trading azionari (versione dettagliata).
Software architecture style
illustrate
Describe how the system is organized in a specific application field
definition
A glossary
Some components and connector types
A set of constraints
Indicate how the system combines components and connecting parts
Data flow system style
Batch architecture style
principle
Each processing step is a separate program
Each step must start after the previous step is finished
The data must be complete and delivered as a whole
composition
Basic components
Standalone application
Connectors
Some medium
Scene
Suitable for scenarios where large amounts of data need to be processed and periodic and low real-time requirements are not high
Illustration
example:
Pipeline-Filter Architecture Style
principle
The system divides several sequential processing steps to process the data generated continuously.
The steps are connected through a data stream, and the output of one step is the input of another step
Data transmission is completed by pipelines, and processing steps are implemented by filters
composition
Basic components
Filter
Connectors
pipeline
Scene
Data flow scenario
Illustration
example:
Call/return architecture style
principle
Strategies for dividing and conquering
Decompose a large system into several subsystems
Main program/subprogram style
principle
Generally, single-thread control is used to divide the problem into several processing steps
composition
member
Main program, subroutine
Subroutines can be combined into modules
Connectors
Calling process
example:
Object-oriented architecture style
principle
Data representation method and corresponding operations are encapsulated in an abstract data type or object
composition
member
Object
Illustration
example:
Hierarchical system hook style
principle
Each layer provides services to the upper layer and serves as a customer at the lower layer.
The layer interface is only visible to the adjacent layer
Illustration
example:
Client/server architecture style
principle
Based on resource ambiguousness, it is proposed to realize sharing
Classification
Two-layer C/S architecture—"fat client, thin server"
composition
Database Server
Data layer
Customer Application
Functional layer, representation layer
network
example:
Three-layer C/S architecture—"thin client"
composition
Database Server
Data layer
Application Server
Functional layer
Customer Application
Expression layer
network
Data-centric architectural style
Warehouse architecture style
principle
The various components of the system interact through a central data (i.e., warehouse).
composition
member
Central data structure
Indicate the status of the current data
Independent components
Operate central data
Connectors
Interaction between warehouse and independent components
Illustration
example:
Blackboard architecture style
principle
A problem-solving model
Conceptual framework for domain knowledge organizing inference steps, controlling state data and problem solving
composition
blackboard
Shared data storage area
All knowledge sources can read and write data on the blackboard
Used to store intermediate data and final results
Source of knowledge
Independent modules or agents, each containing specific knowledge or skills
Can be sensors, processors, analyzers, etc.
Responsible for reading data on the blackboard under specific conditions, processing, and writing the results back to the blackboard
Control module
Responsible for coordinating the activities of knowledge sources
Decide when to activate which source of knowledge
Knowledge sources can be scheduled based on specific policies (such as priority, data changes)
Scene
Solve the unstructured problem of responsibility
Illustration
example:
Virtual Machine Architecture Style
principle
Artificially build an operating environment, parse and run custom languages
Interpreter Architecture Style
composition
Explanation Engine
explain
Storage area
Store the code to be interpreted
Data structure
Record the current working status of the interpreter engine
Record the execution progress of the source code being interpreted
Scene
Often used to build a virtual machine to bridge the difference between program semantics and hardware semantics
Illustration
example:
Rule system architecture style
principle
Deduce conclusions or perform actions through a set of rules
composition
Rule Set
Rule Interpreter
Rules/Data Selector
Working memory
Illustration
example:
Independent component architecture style
principle
Each component is a relatively independent individual and does not communicate directly
Reduce coupling and improve flexibility
Process communication architecture style
composition
member
Independent (naming) process
Connectors
Message delivery
peer to peer
Asynchronous or synchronous
Remote procedure call
example:
Event System Architecture Style
principle
The component does not directly call a process, but triggers or broadcasts one or more events.
Procedures in other components, registered in one or more events
When an event is triggered, the system automatically calls all procedures registered in the event
Illustration
example: