UML-подобная альтернатива для языков, использующих отражение - PullRequest
0 голосов
/ 29 декабря 2011

Существуют ли какие-либо расширения / альтернативы UML, когда мы говорим о языках, использующих отражение?Я имею в виду, что я пытаюсь выразить свой проект как UML, прежде чем писать его, однако я всегда придумываю «этот метод будет вызываться через отражение, когда имя метода загружается из файла», что явно нарушает многие мои диаграммы.

Говоря о C #, использование атрибутов может сильно изменить способ разработки чего-либо, поэтому все мои UML-диаграммы выглядят странно, потому что многие вещи не написаны (например, если метод имеет заданный атрибут).

Есть ли какой-нибудь визуальный язык, который поможет вам как-то выразить "отражение"?

1 Ответ

1 голос
/ 12 января 2012

Я нашел решение для этого, эффективно подумав о том, что представляет отражение в UML и ООП.

Если вы мыслите строго ООП, вы не должны думать об объекте, составленном из свойств (полей) и методов, вместо этого вы должны представить его как объект, составленный (как и должно быть) другими объектами.

При этом гораздо проще представить методы и свойства как объекты (поэтому у нас будет объект UpdateMethod или объект LengthProperty) и yes , таким образом, у вас есть место, куда вы можете поместить C # атрибуты , или вы можете придать значение C # делегатам вместо указателей на функции.

Это изображение должно объяснить концепцию, которую трудно выразить только словами: UML showing reflection

Очевидно, что UML нуждается в улучшении, потому что широко используемая функция (отражение) должна поддерживаться лучше, а не так, как я ее использовал (что не так приятно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...