Attended an architecture overview meeting. When I looked at the architecture diagram, I recognized something familiar, and immediately understood their design intent even before we began to talk.
The something familiar was one flavor of design pattern Remote Proxy, which was used to :
- Provide a surrogate or placeholder for another object to control access to it.
- Use an extra level of indirection to support distributed, controlled, or intelligent access.
- Add a wrapper and delegation to protect the real component from undue complexity.
So the architecture doesn’t lie. Design patterns and best practices, if used in proper context, convey the true design intent that fellow developers and architects can understand.