История о конкретной предметной модели, где многие допустимые значения полей зависят от значений других.
Задача
Проще понять на конкретном примере: нужно настроить датчики со многими параметрами, но параметры зависят друг от друга.Например, порог срабатывания зависит от типа датчика, модели и чувствительности, а возможные модели зависят от типа датчика и т. д. В нашем примере мы возьмем только тип датчика и его значение (порог, при котором он должен сработать).
Сделать так, чтобы для датчиков напряжения и температуры значения могли находиться только в диапазонах -400.400 и 200.600 соответственно.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; } }
Все изменения можно отслеживать и протоколировать.
«Простое решение
Самая простая реализация обеспечения согласованности данных — вручную записать ограничения и зависимости в сеттерах и геттерах: public class Sensor
{
Теги: #C++ #.
NET #ООП #Промышленное программирование #рефлексия #аспектное программирование #ilgenerator
Вместе с данным постом часто просматривают:
-
Ускорьте Свой Компьютер За 5 Простых Шагов
19 Oct, 24 -
Новые Книги По Ruby
19 Oct, 24 -
С Днем Рождения, Пи!
19 Oct, 24