Динамический Аспектно-Ориентированный

История о конкретной предметной модели, где многие допустимые значения полей зависят от значений других.



Задача

Проще понять на конкретном примере: нужно настроить датчики со многими параметрами, но параметры зависят друг от друга.

Например, порог срабатывания зависит от типа датчика, модели и чувствительности, а возможные модели зависят от типа датчика и т. д. В нашем примере мы возьмем только тип датчика и его значение (порог, при котором он должен сработать).

  
   

public class Sensor { // Voltage, Temperature public SensorType Type { get; internal set; } //-400.400 for Voltage, 200.600 for Temperature public decimal Value { get; internal set; } }

Сделать так, чтобы для датчиков напряжения и температуры значения могли находиться только в диапазонах -400.400 и 200.600 соответственно.

Все изменения можно отслеживать и протоколировать.



«Простое решение

Самая простая реализация обеспечения согласованности данных — вручную записать ограничения и зависимости в сеттерах и геттерах:

public class Sensor {

Теги: #C++ #.

NET #ООП #Промышленное программирование #рефлексия #аспектное программирование #ilgenerator

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.