Тест, если объект реализует интерфейс

Я видел два приложения, которые использовали механизм Сети Пламени от Справедливого Issac.

Одно приложение сбросило тысячи правил на единственную базу знаний, имел ужасные проблемы памяти, стал черным квадратом, который немногие понимают. Я не назвал бы это успехом, но он работает в производстве.

Другое приложение использовало деревья решений для представления на порядке сотен вопросов на медицинской форме клиентам расположения. Это было сделано так изящно, что деловые люди могут обновить правила по мере необходимости, не имея необходимость вовлекать разработчика. (Все еще должен быть развернут одним, все же.) я назвал бы это большим успехом.

, Таким образом, это зависит от того, как хорошо сфокусированный проблема, размер набора правила, знание разработчиков. Мое предубеждение - то, что просто создание механизма правил единая точка отказа и дамп правил в него, вероятно, не являются хорошим подходом. Я запустил бы с управляемого данными или табличного подхода и вырастил бы это, пока механизм правил не был необходим. Я также стремился бы инкапсулировать механизм правил как часть поведения объекта. Я скрыл бы механизм правил от пользователей и попытался бы разделить пространство правил в модель предметной области.

41
задан Marco Bettiolo 1 September 2009 в 02:31
поделиться

2 ответа

Используйте TypeOf ... Is :

If TypeOf objectParameter Is ISpecifiedInterface Then
    'do stuff
End If 
59
ответ дан 27 November 2019 в 00:40
поделиться

requiredInterface.IsAssignableFrom (providedType)

и requiredInterface, и providedType являются типами

3
ответ дан 27 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: