Я создаю приложение Windows Form, которое в основном является воссозданием краски. У меня есть инструментальная панель различных кнопок, я могу перетащить копию растрового изображения на диаграмму и поместить ее на панель чертежа. Однако я хочу добавить функциональность, позволяющую перемещать растровое изображение вокруг панели и изменять его размер, используя 9 узлов по углам и середине линий.Синглтон или статический класс или нет?
В настоящее время моя форма имеет
List<Diagram> theDiagrams;
, который содержит список пользовательских диаграмм объектов. Каждая диаграмма представляет растровое изображение на панели чертежа, оно имеет координаты, размер, z-индекс, растровое изображение и немного другой информации. Однако теперь я хочу, чтобы только диаграмма с фокусом могла быть доступна для редактирования или иметь эти 9 узлов вокруг снаружи с возможностью перемещения/изменения размера. Я думаю о создании класса, который является деривацией класса Diagram, который у меня есть, но я хочу только создать один из них. Должен ли я создавать статический класс или, возможно, использовать шаблон одноэлементного дизайна, чтобы гарантировать, что только один из этих объектов может быть создан за один раз. В идеале я бы хотел, чтобы этот класс был пустым с самого начала и только когда он был необходим, нужно установить копию диаграммы.
Я более менее стараюсь выяснить, как создать класс для этого конкретного сценария, поэтому я не думаю, что для того, чтобы понять суть того, что я говорю, нужен код. Однако, если вы чувствуете, что вам нужны некоторые примеры того, о чем я говорю, я более чем счастлив поделиться этим кодом, чтобы обеспечить наилучшее возможное решение.
Если вы не поняли мой вопрос, следует ли использовать шаблон дизайна singleton, статический класс или ни то, что я пытаюсь выполнить?