[Dev] Chandler no longer uses the NotificaitonManager
John Anderson
john at osafoundation.org
Sat Dec 11 19:36:27 PST 2004
At Brian's request I removed all the dependencies on the
NotificationManager. Most of the changes related to my use of CPIA
events, however, the changes affected lots of other people's code.
The changes were extensive, consequently it's quite possible my tests
didn't uncover all the bugs introduced by my changes. So if you
encounter any new problems let me know.
After looking over all the uses of the NotificationManager, it's clear
to me now that it didn't provide any benefit in the situations where it
was used. Removing its use simplified the design, eliminated code, and
sped up Chandler. Perhaps the biggest problem with the
NotificationManager was that the problem it solved wasn't a problem we
needed to solve thus far. Also, the design choice of using
non-persistent runtime data structures instead of persistent repository
data structures created a lot of unnecessary code and lead to
performance problems. For example, it would have been simpler and more
efficient to use refcollections and bidirectional references instead of
building non-persistent python dictionaries of items found at startup by
using a query. This is another example of how using the repository can
simplify the application code.
I'm inclined to remove the NotificationManager and its unit tests unless
anyone objects.
John
More information about the Dev
mailing list