Skip to main content
Cite added
Source Link
Doc Brown
  • 221.7k
  • 35
  • 411
  • 630

Is this an example of facade pattern or microservice orchestrator pattern?

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (- not literally - assume "XYZ" describes the specific topic C deals with)?

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (- not literally - assume "XYZ" describes the specific topic C deals with)?

Is this an example of facade pattern or microservice orchestrator pattern?

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (- not literally - assume "XYZ" describes the specific topic C deals with)?

added 17 characters in body
Source Link
Doc Brown
  • 221.7k
  • 35
  • 411
  • 630

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (assumed- not literally - assume "XYZ" describes the specific topic C deals with)?

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (assumed "XYZ" describes the specific topic C deals with)?

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (- not literally - assume "XYZ" describes the specific topic C deals with)?

Source Link
Doc Brown
  • 221.7k
  • 35
  • 411
  • 630

It is probably both, patterns are not mutually exclusive. But the name you pick for C should express the client-facing abstraction. To my understanding, "Orchestrator" expresses more what C does internally, and "Facade" more how the interface looks like for the client.

Hence in case it is transparent for the client that C is just a simplified interface to A and B, I guess the name "XYZfacade" will fit better. However, in case C now fulfills a purpose on its own, and in case it uses A and B internally for this purpose is just an implementation detail, I would prefer a name which expresses the purpose exclusively, without any suffix like "facade" or "orchestrator". Why not just call it "XYZ" (assumed "XYZ" describes the specific topic C deals with)?