Я собираюсь внести некоторые изменения в мой существующий компонент на работе и начинаю видеть преимущества использования шаблонов проектирования.Проблема в том, что у меня есть несколько конкретных примеров, для которых я пытаюсь использовать то, что я изучил в шаблонах проектирования, и у меня возникают проблемы при этом.Вот что я пытаюсь сделать.
У меня есть существующий компонент, который контролирует производительность, скажем, n различных пакетов программного обеспечения, каждый из которых обслуживает определенный тип.т.е. существующий компонент
- пакет A для типа 1
- пакет B для типа 2
- пакет C для типа 3 и т. д. ...
Каждый пакет выполняет некоторые наблюдения за производительностью и имеет свои собственные журналы данных, записи и т. Д. Каждый пакет имеет только один тип.
В будущем у нас может появиться новая функция для
- включая журнал анализа.Это будет иметь журнал данных, который уже существует, и добавить некоторые другие данные поверх этого.-Поддержка нескольких типов для пакета.т. е. пакет A для типа 1, тип 2 (Bitype), пакет B для типа 1, тип 2, тип 3 (tritype)
Глядя на это, я подумал, что здесь может пригодиться шаблон адаптера.Я мог бы использовать существующий компонент в качестве адаптера.Затем выполните новую функцию в классе адаптеров.Моя цель будет заключительным компонентом с 2 добавленными функциями.Поскольку здесь я имею дело с существующим кодом, я думаю, что мне нужно добавить класс адаптера для адаптации новых функций.Но у меня возникают другие мысли, потому что адаптер предназначен для использования одного интерфейса с другим интерфейсом.Здесь у меня есть существующий интерфейс, но у меня еще нет целевого интерфейса.Мне придется создать и адаптер, и цель тоже.Поэтому я в замешательстве, если это определение соответствует моему требованию или нет.
Может ли кто-то, кто имеет некоторый опыт работы с шаблонами проектирования, сделать ваши предложения здесь.Спасибо
конечно.Программное обеспечение для спортсменов.Существующая система отслеживает детали тренировок этих спортсменов.В нем есть такие данные, как журнал тренировок, какие бренды они предпочитают, личные данные и т. Д. Для отдельных спортсменов создан отдельный пакет.Типы спортсменов - теннисист, игрок в гольф, пловец и т. д. Таким образом, спортсмены могут быть только одного типа, либо игроком в теннис, либо игроком в гольф, но не обоими.В будущем будет необходимо включить дополнительные функции: 1. включить журнал производительности (т.е. взять уже существующие журналы и добавить подробности журнала производительности поверх него).2. интересы спортсменов могут совпадать, т. Е. Один спортсмен может участвовать в нескольких видах спорта.одинокий спортсмен мог участвовать в теннисе, золоте и плавании.надеюсь, теперь ясно.