من اشهر الاساليب في تصميم البرمجيات حصوصا المعقدة هو ال
Domain driven design (DDD)
في الفيديو ده هتلاقي شرح مبسط مطعم بالامثلة للموضوع
https://youtu.be/bEI4RW3ULvI
7. Ubiquitous Language
• Ubiquitous language is a model that
acts as a universal language to help
communication between software
developers and domain experts.
• To produce a clear Ubiquitous
Language you will have to understand
more of the business.
8. Bounded context
• Is a defined part of software where
particular terms, definitions and rules
apply in a consistent way.
• Payment Context
• Ordering Context
• Patient Registration Context
9. Context Maps
• Context Maps help in
understanding the whole project,
being able to show the
relationships between the
different Bounded Contexts.
11. Entity
• Is a plain object that has an
identity (ID) and is potentially
mutable
Patient
Clinic
Doctor
Employee
12. Aggregates (Aggregate root)
• Aggregate root is an entity that
binds together with other
entities
• Actually a part of aggregate
Visit
Medicines
Procedures
Lab tests
Radiations
13. Value Objects
• Value objects are immutable.
• They have no identity (ID) like we
found in entity.
• Two value objects can be
considered equal if both of them
have the same type and the
same attributes
Email
Address
Money
Address