volume_mute

Client-Server vs. Repository

publish date2026/06/11 07:37:10.278012 UTC

volume_mute

A startup is building a new collaborative code editing platform. Developers need to work on shared project files simultaneously, with tools like a linter, auto-formatter, and documentation generator all accessing the same codebase. Which architectural pattern is more appropriate for managing the shared codebase among tools, and why?

Correct Answer

Repository - because multiple tools need to share large amounts of data from a central store, without needing to communicate directly with each other

Explanation

The Repository pattern suits this scenario because large volumes of data (source code) are generated and used by multiple tools, and there is no need for tools to communicate directly. The shared codebase acts as the repository; the linter, auto-formatter, and documentation generator all read from and write to it independently.

Reference

Software Engineering, Ian Sommerville, 10th edition


Quizzes you can take where this question appears