Я вижу много специфических особенностей командной строки Windows, но если Ваша программа предназначается для Linux, я нахожу стандарт командной строки GNU быть самым обладающим интуицией. В основном это использует двойные дефисы для длинной формы команды (например, --help
) и единственный дефис для короткой версии (например, -h
). Можно также "сложить" короткие версии вместе (например, tar -zxvf
filename
) и смешивание и подгонка, долгое и короткое к содержанию основы.
сайт GNU также перечисляет стандартные имена опции .
getopt библиотека значительно упрощает парсинг этих команд. Если C не Ваша сумка, Python имеет подобную библиотеку, как делает Perl.
Я не хочу критиковать проект, но ИМХО это злоупотребление АОП. Аспекты подходят не для всего, и их использование только ухудшает читаемость.
Более того, я думаю, что здесь упускается один из основных моментов АОП, который заключается в возможности добавлять / удалять / переопределять аспекты, не затрагивая базовый код.
Аспекты должны быть определены вне затронутого кода, чтобы сделать их действительно сквозными. В случае AspectF аспекты встроены в затронутый код, что нарушает SoC / SRP .
С точки зрения производительности нет штрафа (или это пренебрежимо мало), потому что здесь нет манипуляций с IL во время выполнения, как описано в статье codeproject. Однако у меня никогда не было проблем с производительностью с Castle DynamicProxy.