Courses Taught by Dr. Riad Sonbol

Software Architecture Design (Syrian Private University)

Faculty of Engineering - Artificial Intelligence Engineering

[Last Updated: 2026] This course introduces principles and practices of designing the structure of complex software systems.

Materials

Topic No. Title Description Download
Topic 0 Intro Introduction πŸ“₯ PDF
Topic 01 General Principles in Software Design and Architecture System Decomposition, What is Good Design? πŸ“₯ PDF
Topic 02 Software Architecture Style: Layered Architecture Layered Architecture, case study discussion, How to Handle the communication between Layers, FaΓ§ade Design Pattern, and Dependency Injection πŸ“₯ PDF
Topic 03 More Classical Software Architectures n-Tier, Client-server, Peer-to-Peer, MVC πŸ“₯ PDF
Topic 04 Microservices Architecture Domain-Driven Design, Monolithic vs Microservices, Why Microservices?, practical issues, Message Broker, Related Design Patterns: CQRS, API Gateway, Strangler Pattern, Externalized Configuration, case study πŸ“₯ PDF
Topic 05 Clean Architecture The Hexagonal Architecture, Ports and Adapters, the Flow πŸ“₯ PDF
Topic 06 More Architectural Styles Repository, Service-Oriented Architecture (SOA), Pipes and Filters, Event-Driven Architecture πŸ“₯ PDF