Здравствуйте!
Прошу подсказать какой вариант реализации на ваш взгляд лучше.
Задача: нужно создать блоки с атрибутами для простановки условных обозначений.
Различия-каждый тип блока позиции должен иметь свою форму(геометрическую), свой слой, разный тип линий, разный набор атрибутов и свое имя для каждого типа(Block1, Block2 ...).
Сходства-каждый из этих типов позиций служит для указания позиции на чертеже и хранения информации.
Я сомневаюсь между двумя вариантами решения:
1 Создать класс ItemMark как базовый. В нем создать поля, общие для всех типов блока позиции, и общие методы GetInsertPointFromUser и SetCurrentItemNumber. Создавать классы для других типов блоков и наследовать в каждом из них ItemMark, используя его поля и методы и расширяя его функциональность специфическими для каждого нового класса методами.
2 Создать единый класс для всех типов позиций, а все различия между типами блоков позиций учесть за счет внутренней логики (много разных if (){}).
Каких-то указаний и рекомендаций в доках по API я не нашел.