Информация об изменениях

Сообщение Re[7]: Бизнес-слой управляет другим слоем от 09.06.2019 11:26

Изменено 09.06.2019 11:29 es3000

Re[7]: Бизнес-слой управляет другим слоем
E>>Это значит, что нотификации должны быть объектами разных классов.
E>>Либо содержать данные в виде объектов-данных разных типов.
E>>Так как данные в нотификации могут быть разными в зависимости от типа операции.
E>>Так?

S>Совершенно необязательно. У вас какая версия Windows? Если 10, то вы, наверное, заметили, что их notification center способен показывать оповещения о совершенно разных событиях — и об исчерпании места на диске, и о приходе почты, и вообще о чём угодно. Достаточно сделать так, чтобы внутри оповещения была сохранена "ссылка" на то действие, которое оно предлагает пользователю выполнить.

S>Для отчёта, к примеру, основным действием будет "открыть окно отчёта", вместе с параметрами, которые указывают на конкретный экземпляр отчёта.

S>Это позволит вам избежать необходимости полностью переписывать ту часть клиента, которая отвечает за обработку оповещений, после добавления каждого типа оповещений.


Тут не согласен.

Вы говорите о нотификациях, которые отображаются конечному пользователю.

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

Пример.
Пользователь1 запустил асинхронные операции: загрузка на Кассу1, выгрузка на Кассу2.
Пользователь2 запустил асинхронные операции: выгрузка на Кассу3, загрузка на Кассу4.
В течении следующих 30 мин эти операции завершились, BL сформировал 7 нотификаций (кроме этих 4 еще 3 нотификации по каким-то другим операциям).

Как UI поймет какая из нотификаций имеет отношение к запущенной им операции?
По типу (классу) нотификации или по каким-то "универсальным" реквизитам нотификации?
Re[7]: Бизнес-слой управляет другим слоем
E>>Это значит, что нотификации должны быть объектами разных классов.
E>>Либо содержать данные в виде объектов-данных разных типов.
E>>Так как данные в нотификации могут быть разными в зависимости от типа операции.
E>>Так?

S>Совершенно необязательно. У вас какая версия Windows? Если 10, то вы, наверное, заметили, что их notification center способен показывать оповещения о совершенно разных событиях — и об исчерпании места на диске, и о приходе почты, и вообще о чём угодно. Достаточно сделать так, чтобы внутри оповещения была сохранена "ссылка" на то действие, которое оно предлагает пользователю выполнить.

S>Для отчёта, к примеру, основным действием будет "открыть окно отчёта", вместе с параметрами, которые указывают на конкретный экземпляр отчёта.

S>Это позволит вам избежать необходимости полностью переписывать ту часть клиента, которая отвечает за обработку оповещений, после добавления каждого типа оповещений.


Тут не согласен.

Вы говорите о нотификациях, которые отображаются конечному пользователю.

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

Пример.
Пользователь1 запустил асинхронные операции: загрузка на Кассу1, выгрузка на Кассу2.
Пользователь2 запустил асинхронные операции: выгрузка на Кассу3, загрузка на Кассу4.
В течении следующих 30 мин эти операции завершились, BL сформировал 7 нотификаций (допустим, что кроме этих 4 операций выполнялось еще каких-то 3 операции, и по ним тоже сформировались нотификации).

Как UI конкретного пользователя поймет какая из нотификаций имеет отношение к запущенной им операции?
По типу (классу) нотификации или по каким-то "универсальным" реквизитам нотификации?