Useful Links
1. Introduction to Software Architecture
2. Architectural Drivers and Requirements
3. Fundamental Architectural Concepts
4. Layered Architecture
5. Client-Server Architecture
6. Model-View-Controller Pattern
7. Service-Oriented Architecture
8. Microservices Architecture
9. Event-Driven Architecture
10. Introduction to Design Patterns
11. Creational Design Patterns
12. Structural Design Patterns
13. Behavioral Design Patterns
14. Architectural Documentation
15. Architecture Evaluation
16. Domain-Driven Design
17. Cloud-Native Architecture
18. Security Architecture
19. Architecture Evolution
20. Anti-Patterns and Code Smells
  1. Computer Science
  2. Software Engineering

Software Architecture and Design Patterns

1. Introduction to Software Architecture
2. Architectural Drivers and Requirements
3. Fundamental Architectural Concepts
4. Layered Architecture
5. Client-Server Architecture
6. Model-View-Controller Pattern
7. Service-Oriented Architecture
8. Microservices Architecture
9. Event-Driven Architecture
10. Introduction to Design Patterns
11. Creational Design Patterns
12. Structural Design Patterns
13. Behavioral Design Patterns
14. Architectural Documentation
15. Architecture Evaluation
16. Domain-Driven Design
17. Cloud-Native Architecture
18. Security Architecture
19. Architecture Evolution
20. Anti-Patterns and Code Smells
  1. Anti-Patterns and Code Smells
    1. Common Anti-Patterns
      1. The Blob
        1. Spaghetti Code
          1. Lava Flow
            1. Golden Hammer
              1. Copy and Paste Programming
              2. Architectural Smells
                1. Cyclic Dependencies
                  1. God Components
                    1. Chatty Interfaces
                      1. Inappropriate Intimacy
                      2. Code Smells
                        1. Large Class
                          1. Long Method
                            1. Feature Envy
                              1. Data Clumps
                                1. Primitive Obsession
                                  1. Duplicate Code
                                  2. Refactoring Techniques
                                    1. Extract Method
                                      1. Extract Class
                                        1. Move Method
                                          1. Replace Conditional with Polymorphism
                                            1. Introduce Parameter Object

                                          Previous

                                          19. Architecture Evolution

                                          Go to top

                                          Back to Start

                                          1. Introduction to Software Architecture

                                          © 2025 Useful Links. All rights reserved.

                                          About•Bluesky•X.com