Ищем правильный шаблон.
Предположим, у вас есть какой-то объект Data
, с которым вы работаете, который подается в HistoricalData
объект (когда новый Data
входит и становится доступным)
Вы делаете что-то с Data
и HistoricalData
. Как только вы вычислите числа, вы получите множество вещей из HistoricalData
. Вы хотели бы предложить доступ к данным, которые вы получили через общий класс **DerivedData**
.
В настоящее время
Data
(подача в) -> HistoricalData
(используется для расчета) -> ClassA
Data
(подача в) -> HistoricalData
(используется для расчета) -> ClassB
Каждый класс доступен независимо
Я бы хотел
Data
(подача) -> HistoricalData
(используется) -> DerivedData
(предоставление доступа) -> ClassA
Data
(подача в) -> HistoricalData
(используется) -> DerivedData
(предоставление доступа) -> ClassB
Доступ к ClassA и ClassB возможен только через синглтон DerivedData
Я бы хотел прямо запретить прямой доступ к классам ClassA и ClassB.
Пожалуйста, предложите схему , которую я должен исследовать, чтобы выполнить это