Considerations and preparations before Design
1. Understanding Business needs is far more important than understanding the technical architecture.
2. architecture includes technical architecture and Business Architecture
3. There is no omnipotent and general architecture, and only the architecture that meets your own business needs
4. The complexity of the architecture must end at the architectural design stage.
5. scalability and robustness are important aspects of architecture design.
6. Third-party tools, open-source components, and EnterpriseLib can be used for reference, but they are definitely not fully charged as per order.
Knowledge required before Architecture Design
1. Macro and overall understanding of the business in the business system.
2 knowledge reserve on DotNet Distributed Technology
3. Understanding of the Rational Unified Process 4 + 1 View
4. Architecture, components, charging, design mode, and learning from third-party tool components.
Architecture impact on the business layer
1. Can I draw a global use case view? To which Granularity
2 logical view is the foundation of Object-Oriented Design
3. What level of system/subsystem/module/unit should the logic view achieve in the architecture stage?
4. What is determining the deployment view?
5. Relationship between the implementation view and the logic view.
Architecture impact on the technology layer
1. the technical aspects are embodied in the implementation view and deployment view.
2. the technical aspects focus on non-functional requirements.
3 exceptions/logs/security/performance/queue/Cache/offline/
4. System Management/workflow/public class/public component
5. The leakage of Technical Architecture defects is a fatal blow to the application system.
How to Build distributed applications
1. Existing distributed technology Remoting // Web Service
2. How to Choose distributed technology: business needs, performance, and development difficulty
3 Relationship Between Smart Clients and distributed applications
4. Considerations for front-end display of both WinUI and WebUI
5 Comparison of advantages and disadvantages of Remoting + IIS Hosting and Web Service
6. Release a prototype to verify the architecture as soon as possible.
System exceptions and log Requirements
1. First, understand the exceptions and log Requirements of the business or system.
2 exceptions and logs must be used together. Some exceptions that are not suitable for being thrown to users must be recorded in background logs.
3. The business has requirements for logs, such as logon logs and operation logs.
4. Complete exception log functions to facilitate system maintenance and tracking and analysis when problems occur
5 Microsoft AppBlock and Log4Net can both be used for reference, but the advantages and disadvantages should be analyzed.
Requirements and considerations for System Security
1 Remoting security issues, whether the remotely exposed service interfaces are secure
2. System logon and verification mechanisms
3. Data Transmission security issues
4. Security of business data stored in the database
5. Security of the Assembly deployed on the client
Considerations for system cache
1. the system performance is greatly improved, and the performance is worse than the performance of the system.
2. Client Cache and server cache Selection Problems
3. Considerations and solutions for Cache-caused synchronization and concurrency issues
4. scalability and robustness are important considerations during design.
Selection of business entities
1 do not create custom classes as entities when O/R Mapping is not used
2 DataSet)
3. The advantages and disadvantages of typed and untyped types must be clarified.
4 again-there is no one-to-one correspondence between business entities and database tables.
5. What are the differences between object and object operations? What are the advantages and disadvantages?