Showing posts from 2022

Context and Facets

A part of designing a method-based system is detailed design. So, once you have defined the service components, it is time to define the contracts. Context In searching for volatilities in your system you have probably found some parts that depend on the context in which they are executed. What does that mean? How I like to explain it is, that context is about achieving the same result but from a different perspective. Like canceling a doctor's appointment. Imagine a healtcare manager contract with the following operations: public interface IHealthcareManager { Task<CreateAppointmentResult> CreateAppointment(CreateAppointmentRequest request); Task<CancelAppointmentResult> CancelAppointment(CancelAppointmentRequest request); } Canceling an appointment in the context of a patient is likely to be different than when the doctor's assistant cancels the appointment. And with different I mean; it will involve less or more steps in the proc