R
Rob R. Ainscough
I understand and implement the concept (as best I can), BUT what I would
like to know -- how is it possible to completely remove the UI from business
logic? "UI references business logic, but business logic should never
reference UI."
For example, a process that cycles thru datarows in a datatable where after
each iteration the UI progress bar needs to be updated (to show a user that
something is going on)? To truely remove the business logic from the UI, I
can't reference a progress bar control as that is UI and hence invalidates
the concept.
The only way around this is to NOT provide a very accurate progress bar or
display some animation graphic or use an event timer that turns on and off
when the business logic starts/finishes -- but in all cases this is not a
very accurate representation of the duration of a particular process.
Having looked at some of Microsoft's products (Windows Defender Beta 2 for
example) they don't even attempt to portray any accuracy -- just an
animation that the process is still running.
So, I'm curious how you folks resolve this conflict of concept and retain
any accuracy in the state of progress for those long running tasks?
Rob.
like to know -- how is it possible to completely remove the UI from business
logic? "UI references business logic, but business logic should never
reference UI."
For example, a process that cycles thru datarows in a datatable where after
each iteration the UI progress bar needs to be updated (to show a user that
something is going on)? To truely remove the business logic from the UI, I
can't reference a progress bar control as that is UI and hence invalidates
the concept.
The only way around this is to NOT provide a very accurate progress bar or
display some animation graphic or use an event timer that turns on and off
when the business logic starts/finishes -- but in all cases this is not a
very accurate representation of the duration of a particular process.
Having looked at some of Microsoft's products (Windows Defender Beta 2 for
example) they don't even attempt to portray any accuracy -- just an
animation that the process is still running.
So, I'm curious how you folks resolve this conflict of concept and retain
any accuracy in the state of progress for those long running tasks?
Rob.