Domain-Driven Design - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Domain-Driven Design

Description:

CS527 - lecture 13. 1. Domain-Driven Design. Chapters 4-6. How to build OO models of business systems ... Root controls all access to non-value objects within ... – PowerPoint PPT presentation

Number of Views:311
Avg rating:3.0/5.0
Slides: 11
Provided by: Prefe86
Category:
Tags: build | design | domain | driven | how | to

less

Transcript and Presenter's Notes

Title: Domain-Driven Design


1
Domain-Driven Design
  • Chapters 4-6
  • How to build OO models of business systems

2
Patterns
  • Layered Architecture
  • Smart UI antipattern
  • Entities
  • Value objects
  • Services
  • Modules
  • Aggregates
  • Factories
  • Repositories

3
Real-time System Design
  • Patterns for Generating a Layered Architecture,
    Barry Rubin, Pattern Languages of Program Design,
    Addison-Wesley, 1995.
  • Layered architecture of real-time systems with an
    operator interface

4
A Typical CMA System
Operator Interface
status, alarms
commands
Health and Status
Tool Control
status
control
feedback
Hardware Interface
control
feedback
status
Mechanical process
5
A CMA Architecture
Layer 5 - Operator interface
Layer 4 - Application layer Model system behavior
Layer 3 - Modeling layer Model of the mechanical
domain (actuator, solenoid, sensor)
Layer 2 - Access layer Model of the EE domain
(I/O ports)
axis of symmetry
Layer 1 - Physical layer Physical hardware or
simulator
Mechanical entities Actuators, solenoid,
sensors, etc
6
Anti-patterns
  • AntiPatterns Refactoring Software,
    Architectures, and Projects in Crisis by William
    J. Brown, Raphael C. Malveau, and Thomas J.
    Mowbray

7
  • Entities have a unique identity. Cannot make an
    exact copy. Has mutable state.
  • Value objects have no identity, and can be
    copied. Stateless. Immutable.

8
Aggregates
  • Aggregate consist of one entity that is the root,
    and a set of non-entities.
  • Root controls all access to non-value objects
    within the aggregate.
  • External objects only hold references to the root.

9
  • Service when a significant process is not a
    responsibility of an entity, add an operation to
    the model as a standalone interface described as
    a stateless service.
  • Module Choose modules that tell the story of
    the system and contain a cohesive set of concepts.

10
  • Factory create new objects
  • Repository find old objects
Write a Comment
User Comments (0)
About PowerShow.com