Меня просят предоставить документацию проекта для a "deal service" that de-couples the user’s requests from the requests to the partners who provide rental rates. the service does so, by looking up a cache, and fetching whatever is missing in a long-running process.
. Я думаю о том, какой шаблон проектирования подойдет для программного обеспечения.Мне не нужно писать рабочий код, только проектную документацию.
Я думаю о комбинации модели посредника и модели Flyweight.
Шаблон посредника определяет объект, который инкапсулирует, как взаимодействует набор объектов.Посредник способствует слабой связи, не позволяя объектам явно ссылаться друг на друга, и позволяет независимо изменять их взаимодействие.Вместо того, чтобы взаимодействовать напрямую друг с другом, объекты просят посредника взаимодействовать от их имени, что приводит к повторному использованию и слабой связи.
С другой стороны, шаблон Flyweight предназначен для управления созданием объектов, когда объекты вПриложение имеет большое сходство и похожего типа, и предоставляет вам основной механизм кэширования.Это позволяет вам создавать один объект для каждого типа (тип здесь отличается от свойства этого объекта), и если вы запрашиваете объект с тем же свойством (уже созданным), он вернет вам тот же объект вместо создания новогоодин.
У вас есть лучшие предложения?